ウェブサイト検索

javascript - ある特定のテストのためにJestモックの実装をどのように変更するか

私は npm モジュールをモックするために test/__mocks__ フォルダにファイルを作成しました。そして、このファイルのリンクは Jest のセットアップに追加しました。すべてうまく動作しており、かなりうまくテストすることができます。しかし、ある特定のテストでは、このファイルの返り値を変更する必要があります。どうすればこれを実現できますか?

unMockやsetMockなどを試してみます。しかし、何も動作しません。

// test/__mocks__/touchId.ts jest.mock('

続きを読む →

デバッグ - Visual Studio CodeでJestを使ってTypeScriptをテストしても、正しいソースコードの行が表示されない

私はVisual Studio CodeでJestを正しく実行しようと試みました。TypeScriptのデバッグは問題なく行えますが、Jestでは含まれている関数の正しい行にたどり着くことができません。

私にはモジュールをインポートするテストファイルがあります:

import { Validate } from "./validate"; describe('Test the Validate', () => { it('should return true', () => { expect(Validate('abc')).toBeTruthy(); }); it('should return false', () => { expect(Validate('cba')).toBeFalsy(); }); });

validate.ts:

export function Validate(Tex

続きを読む →

typescript - Jest と Enzyme で FaC をテスト中に React ノードが見つからない

私はReact Nativeでアプリを作っています。最近、アプリでTypeScriptの使用を始め、私の仕事はユニットテストを移行することです。1つのテストが奇跡的に失敗しています。

そのアプリには Formik を使用する <LoginForm /> があります。

//... imports export interface FormValues { email: string; password: string; } export interface Props { navigation: NavigationScreenProp<any, any>; } export default class LoginForm extends Component<Props, object> { handleSubmit = (values: FormValues, formikBag: FormikActions<FormValues>) =>

続きを読む →

typescript - 非同期の jest アサーションがテストを失敗させないが、アサーションエラーはテスト出力に表示される

私は、プロミスを返すプロバイダーオブジェクトを持っています。このプロバイダーオブジェクトのために jest の単体テストを作成しようとしています。

こちらは例のテストです:

it('Should return repos for a known account', (done) => { expect.assertions(1); expect(apiProvider.ReposForUser('joon').then((data) => data.length)).resolves.toBeGreaterThan(0).then(done()); });

今のところ、プロバイダークラスでは単に空の配列でプロミスを解決しています(つまり、テストが失敗することを予想しています):

export class GithubAPIProvider implements IGithubDataProvider { public ReposForUser

続きを読む →

node.js - jestのテストをテストすることは可能ですか?

私は、さまざまな演習をテストするツールを作りたいです。ある演習はユニットテストです。したがって、学生が作成したテストが良いテストかどうかをテストする必要があります。例えば、学生が次のコードを持っているとします:

export class HelloWorld { public static showHello(): string { return 'Hello World!'; } }

次のJestテストで:

import { HelloWorld } from '..'; describe(Hello World exercise, () => { test('Check function is defined', () => { expect(HelloWorld.showHello()).toBeDefined(); }); test('Empty input results in Hello World!', () => {

続きを読む →

typescript - Jest テスト - TypeError: d は関数ではありません

私は、TypeScriptで書かれたElectron + Vue.js 2アプリケーションに、ts-Jest/JestとChaiを使ったテストを追加しようとしています。

以前、インポートが認識されないなどの問題は修正しました。現在、簡単なテストを実行しようとすると、次のような問題が発生しています:(詳細は出力を参照してください)

TypeError: d は関数ではありません

しかし、これは以前よりもはるかに説明的ではありません。また、これが何を指しているのかもよく分かりません。なぜなら、これは私がこのモジュールを更新したときに修正されたこの問題に関連しているようだからです。

もちろん、実際にアプリケーションを実行しているときにはこれは問題になりませんし、以前の投稿からJestなどに関して調査を増やしても、このことに関連するものを見つけるのに苦労しています。

出力

npm run test > [ema

続きを読む →

typescript - jestテスト内で new class() を呼び出しても新しいクラスインスタンスが作成されない

問題

ユニットテスト内で新しいクラスインスタンスを作成しても、コンストラクターは呼び出されません。

詳細

誤ったサーバーIPが指定されたときにエラーが発生するかどうかをテストしようとしていますが、エラーを投げるはずのクラスの新しいインスタンスを作成しようとすると、うまくいきません。

私がテストしようとしているクラスは次の通りです:

ex

続きを読む →

javascript - JestとTypeScriptでJSONのインポートをモックする方法

Typescriptでのユニットテストのために、Jestを使って.jsonファイルをモックしたいです。

私は現在、jest.config.jsファイル内でこのグローバルモックを使用しています。そして、これは問題なく動作しています:

'package.json': '<rootDir>/__tests__/tasks/__mocks__/data.json'

しかし、私はそれをテストクラス内でローカルにモックしたいです。

これは私にはうまくいきませんでした:

jest.mock('../../package.json', () =&g

続きを読む →

node.js - 実行時には発生せず、jestテストでのみTypeErrorが発生する

私はTypescriptとNodejsでAPIを構築しています。そこで、Jest(ts-jestも)とSupertestを使用して、異なるデータベースも使用する別のテスト環境を作ることにしましたが、修正できないエラーに直面しています。エラーは「Serverはコンストラクタではない」と言っていますが、アプリケーションを実行すると正常に動作します。こちらがコードとエラーです

サーバー.ts

import * as express from 'express'; import * as bodyParser from 'body-parser'; import * as mongoose from 'mongoose'; import { environment } from '../common/environment'; import { registerRoutes } from './routes'; export class Server { app: express.Expr

続きを読む →

JestでTypeScriptを満たすためにMongoDBのデータをモックする

私は、mongoose.Documentを拡張する各モデルのためにTypeScriptのインターフェースを作成しています。

import mongoose, { Document } from 'mongoose'; export interface IAccount extends Document { _id: mongoose.Types.ObjectId; name: string; industry: string; }

そのスキーマは次のインターフェースでエクスポートされます:

expo

続きを読む →