Как выполнить модульное тестирование кода внутри метода проверки nuxtjs vuejs jest

#vue.js #unit-testing #jestjs #nuxt.js #vue-test-utils

#vue.js #модульное тестирование #jestjs #nuxt.js #vue-test-utils

Вопрос:

У меня есть код внутри метода проверки, если условие true, оно возвращает true, иначе false. Я хочу протестировать этот код. Есть ли какой-нибудь способ это сделать.

Комментарии:

1. validate на самом деле не предназначен для тестов Jest, validate предназначен для проверки во время выполнения. Что вы пробовали до сих пор?

2. @kissu Я был бы очень признателен, если бы вы поняли необходимость вопроса, а не говорили, что имеется в виду . В любом случае, я рад, что вы заинтересовались моим вопросом.

Ответ №1:

Обычно метод asyncData и метод validate являются частью nuxt, а не vuejs, и обычно их нельзя протестировать, но мы хотим протестировать его, если это возможно.

Зачем проверять validate: поскольку мы работаем над длинным проектом, мы хотим проверить его, работает ли каждое условие так, как ожидалось, чьи-либо изменения не помешали работе этого метода, и поэтому я нашел решение вызвать этот метод вручную и передать ему соответствующие параметры.

 // example.vue
validate({ params, query }) {
    if (params.includes("abc" amp;amp; 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
  });
});