0
私は数日間、適切なテストワークフローを構築する方法に苦労してきました。テストではデータベースの依存関係を模倣すべきだが、実際のdbクエリと一緒にプロセス全体をテストする必要があるケースがある。 次のコードでは、テストデータの削除やテストデータのプッシュなど、dbの操作を実行できるようにモデルを必要としています。TypeScript、Mongoose、Jasmine - スキーマが必要
質問は以下のとおりです。
スキーマ/モデルを参照する適切な方法は何ですか?
または、typescriptを使用してジャスミンテストを書く方法がありますか?それはbrokesしかし
let BucketConfigS = require('../dist/app/BucketConfig/BucketConfigSchema').default;
:
'use strict'; let BucketConfigS = require('../dist/app/BucketConfig/BucketConfigSchema'); describe('Bucket config collection:',() => { describe('GetAll service -',() => { describe('Given that there are no configs', function() { beforeEach(done => { done(); }); afterEach(done => { BucketConfigS.remove({}, done); done(); }); it('should return an empty array', function() { // test case }); }); }); });
は、私はまた、必要とする以下の行を試してみました:それはBucketConfigS.removeが関数ではないことを言うように
コードは、動作しません。テストスイート全体(テスト結果は書き出されません)。
スキーマファイルは次のようになります。
"use strict";
var DataAccess_1 = require("./../common/DataAccess");
var mongoose = DataAccess_1.DataAccess.mongooseInstance;
var mongooseConnection = DataAccess_1.DataAccess.mongooseConnection;
var BucketConfigSchema = (function() {
function BucketConfigSchema() {
}
Object.defineProperty(BucketConfigSchema, "schema", {
get: function() {
var schema = mongoose.Schema({
AppName: {
type: String,
required: true
},
Platform: {
type: String,
required: true
},
Segment: {
type: String,
required: true
},
UpdateTime: {
type: Date,
default: Date.now
}
});
return schema;
},
enumerable: true,
configurable: true
});
return BucketConfigSchema;
}());
var BucketConfig = mongooseConnection.model("BucketConfig", BucketConfigSchema.schema);
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = BucketConfig;
これは、のコンパイル結果である:
import { DataAccess } from "./../common/DataAccess";
import { IBucketConfig } from "./IBucketConfig";
let mongoose = DataAccess.mongooseInstance;
let mongooseConnection = DataAccess.mongooseConnection;
class BucketConfigSchema {
static get schema() {
let schema = mongoose.Schema({
AppName: {
type: String,
required: true
},
Platform: {
type: String,
required: true
},
Segment: {
type: String,
required: true
},
UpdateTime: {
type: Date,
default: Date.now
}
});
return schema;
}
}
let BucketConfig = mongooseConnection.model<IBucketConfig>("BucketConfig", BucketConfigSchema.schema);
export default BucketConfig;