如何在验证方法 nuxtjs vuejs jest 中对代码进行单元测试

Posted

技术标签:

【中文标题】如何在验证方法 nuxtjs vuejs jest 中对代码进行单元测试【英文标题】:How to unit test code inside validate method nuxtjs vuejs jest 【发布时间】:2022-01-14 07:17:17 【问题描述】:

我在validate method 中有代码,如果条件为真,则返回真,否则返回假。 我想测试该代码。有什么办法吗。

【问题讨论】:

validate 并不是真正用于 Jest 测试,validate 用于运行时验证。到目前为止,您尝试了什么? @kissu 如果您了解问题的需要而不是说出的意思,我将不胜感激。无论如何,我很高兴你对我的问题感兴趣。 【参考方案1】:

所以通常 asyncData 方法validate 方法是 nuxt 而不是 vuejs 的一部分,通常无法测试,但如果可能的话,我们确实想测试它。

为什么要测试验证:由于我们正在进行一个长期项目,我们希望测试它是否每个条件都按预期工作,有人的更改并没有阻碍这种方法的工作,因此我来了解决方案可以手动调用该方法并相应地向其传递参数。

// example.vue
validate( params, query ) 
    if (params.includes("abc" && query["something"])) 
      return true;
     else 
      return false;
    
  
// example.test.js
import index from "example.vue"

describe("test", () => 
  it("Check validate method", async () => 
    // Check when query present
    const params = 
      abc: "abc"
    ;
    const query = 
      something: "abc"
    ;
    const validate = Index.validate( params, $constants, query );
    expect(validate).toBe(true); // or false
  );
);

【讨论】:

以上是关于如何在验证方法 nuxtjs vuejs jest 中对代码进行单元测试的主要内容,如果未能解决你的问题,请参考以下文章

VueJS/NuxtJs中如何动态调用axios方法

如何在 jest 测试用例 +VueJS +Jest 中更改 $route

使用 jest 和 avoriaz 时如何在 Vuejs 的组件中测试异步方法

Jest + Coverage + VueJs 如何覆盖 vue 方法?

推送路由(从 vueJS 移动到 nuxtJS)

VUEJS 中的 SEO 页面?然后其他解决方案迁移到 NUXTJS?