Vue.js test-utils 如何模拟模块中的 getter

标签 vue.js mocking testunit

在我的 ContactForm 组件中,我有 2 个计算的 mapGetters

computed: {
  ...mapGetters(["language"]),
  ...mapGetters("authentication", ["loading"]),

第一个在我的stoe/getters.js中定义

export const language = state => {
 return state.language;
};

第二个定义在我的store/modules/authentication.js

const authentication = {
 namespaced: true,
 getters: {
   user: state => {
     return state.user
   },
   loading: state => {
     return state.loading
 }

},

我正在尝试模拟我的 Vuex 商店,第一个“语言”很容易,

        export const storeMock = Object.freeze({
      state: {},
      actions: {},
      getters: {
        language: () => { .    // <= FINE
          return "en";
        },
        authentication: { .   // <= . WRONG
          loading: () => {
            return false;
          }
        }
      }
    })

但是我应该如何模拟“身份验证”模块中的第二个“加载”?

最佳答案

如果您在应用程序中控制台记录商店,命名空间的 getter 有一个键 namespace/getterName,所以我认为这应该有效

export const storeMock = Object.freeze({
  state: {},
  actions: {},
  namespaced: true,
  getters: {
    language: () => {     // <= FINE
      return "en";
    },
    'authentication/loading' : () => {
       return false;
    }
  }
})

关于Vue.js test-utils 如何模拟模块中的 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52613120/

相关文章:

ruby - 我如何在 Ruby 中继承抽象单元测试?

ruby-on-rails - 为什么 Ruby 只运行一些测试而不运行其他测试?

vue.js - 如何配置 Vue mapActions

javascript - 如何在 vue.js 中使用 SVG.js 插件?

vue.js - 重新加载发布到 Github 页面的 Vue 网站时出现 404

javascript - 如何使用CSS同时滑动两个元素?

ruby - 我可以使用 rspec 模拟来 stub 版本常量吗?

java - 单元测试和日志记录

Ruby Test::Unit 当前的测试方法名

filesystems - 如何在 go 中模拟/抽象文件系统?