Skip to content

Commit

Permalink
Use Vitest instead of Mocha (#793)
Browse files Browse the repository at this point in the history
When line-bot-sdk-nodejs supports ESM, we will use ESM code for testing.
Vitest supports ESM+Typescript. This change will switch from using mocha
to using vitest.

Also, along with mocha, nyc will be removed from dependencies because
vitest supports coverage as well.

About the workaround:
1. Running vitest 1.4.0 results in TypeScript errors due to an issue
with vite, which vitest uses. The latest version of vite has fixed this,
so I explicitly added the latest vite to the dev dependencies.
    - vitejs/vite#15714
2. Running vite for CJS leads to TypeScript errors due to an issue with
rollup, which vite uses. There is no good workaround for CJS. I resolved
this by rewriting node_modules as a workaround. There are no problems
using vitest(?)
   * rollup/rollup#5199
   * vitest-dev/vitest#4567
  • Loading branch information
Yang-33 authored Apr 2, 2024
1 parent 9e073f3 commit 67122af
Show file tree
Hide file tree
Showing 27 changed files with 981 additions and 1,955 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import { {{import.classname}} } from '../{{import.filename}}';
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

{% macro paramDummyValue(param) %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import { VerifyChannelAccessTokenResponse } from "../../model/verifyChannelAcces
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("ChannelAccessTokenClient", () => {
Expand Down
2 changes: 2 additions & 0 deletions lib/insight/tests/api/InsightClientTest.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import { GetStatisticsPerUnitResponse } from "../../model/getStatisticsPerUnitRe
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("InsightClient", () => {
Expand Down
2 changes: 2 additions & 0 deletions lib/liff/tests/api/LiffClientTest.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import { UpdateLiffAppRequest } from "../../model/updateLiffAppRequest";
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("LiffClient", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import { CreateAudienceGroupResponse } from "../../model/createAudienceGroupResp
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("ManageAudienceBlobClient", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import { UpdateAudienceGroupDescriptionRequest } from "../../model/updateAudienc
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("ManageAudienceClient", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import { GetMessageContentTranscodingResponse } from "../../model/getMessageCont
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("MessagingApiBlobClient", () => {
Expand Down
2 changes: 2 additions & 0 deletions lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ import { ValidateMessageRequest } from "../../model/validateMessageRequest";
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("MessagingApiClient", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import { AttachModuleResponse } from "../../model/attachModuleResponse";
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("LineModuleAttachClient", () => {
Expand Down
2 changes: 2 additions & 0 deletions lib/module/tests/api/LineModuleClientTest.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { GetModulesResponse } from "../../model/getModulesResponse";
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("LineModuleClient", () => {
Expand Down
2 changes: 2 additions & 0 deletions lib/shop/tests/api/ShopClientTest.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import { MissionStickerRequest } from "../../model/missionStickerRequest";
import { createServer } from "node:http";
import { deepEqual, equal, ok } from "node:assert";

import { describe, it } from "vitest";

const channel_access_token = "test_channel_access_token";

describe("ShopClient", () => {
Expand Down
Loading

0 comments on commit 67122af

Please sign in to comment.