我試圖存根一個貓鼬模型返回一個JSON值使用興農存根貓鼬模型
是我的代碼是
var valueToReturn = {
name:'xxxxx'
};
var stub = sinon.stub(MyModel.prototype,'findOne');
stub.returns(valueToReturn);
我得到這個錯誤:類型錯誤:試圖包裹未定義的財產findOne作爲功能
我試圖存根一個貓鼬模型返回一個JSON值使用興農存根貓鼬模型
是我的代碼是
var valueToReturn = {
name:'xxxxx'
};
var stub = sinon.stub(MyModel.prototype,'findOne');
stub.returns(valueToReturn);
我得到這個錯誤:類型錯誤:試圖包裹未定義的財產findOne作爲功能
看看sinon-mongoose。可以預計,鏈接方法只需幾行:
// If you are using callbacks, use yields so your callback will be called
sinon.mock(YourModel)
.expects('findById').withArgs('abc123')
.chain('exec')
.yields(someError, someResult);
// If you are using Promises, use 'resolves' (using sinon-as-promised npm)
sinon.mock(YourModel)
.expects('findById').withArgs('abc123')
.chain('exec')
.resolves(someResult);
你可以找到關於回購工作的例子。
另外,推薦:使用mock
方法而不是stub
,這將檢查方法確實存在於原始對象上。
你是否是sinon-mongoose的創造者?你可以在7-8個不同的線程中插入貓鼬測試。 – VtoCorleone
@VtoCorleone是的,我分享它,因爲我認爲它可能對其他面臨同樣的問題時,我有嘲笑貓鼬模型:) – Gon
看看[這裏](http://stackoverflow.com/a/28885743/1521933) –
在這裏,他們使用mongoose.Model的findOne方法。我正在嘗試使用MyModel.findOne,因爲我的導出方法已將findOne用於2種不同的模型。所以我想嘗試和存根2個不同的模型 –