Я тестирую файл действий в беспорядке со шуткой и не могу понять, как имитировать возвращаемое значение.Как высмеять возвращаемое значение в другом файле?
Когда я указываю возвращаемое значение (см. Код ниже) для издевающегося модуля в моем тестовом файле, все работает нормально, но когда эта же функция вызывается в модуле, который я тестирую, он появляется как неопределенный.
#MissionActions-test.js
jest.dontMock('../MissionActions');
describe('MissionActions', function() {
var GameStore = require(root + 'stores/game/GameStore');
var MissionActions;
beforeEach(function() {
MissionActions = require('../MissionActions');
});
it('should...', function() {
GameStore.getGame.mockReturnValue({test: "test"});
console.log(GameStore.getGame()); // prints {test : "test"}
MissionActions.addMissionFromBank();
});
});
И MissionActions.js, который тестируется.
# MissionActions.js
var GameStore = require('../../stores/game/GameStore');
var MissionActions = {
addMissionFromBank: function(bankMission) {
var game = GameStore.getGame();
console.log(game); // prints undefined
}
}
module.exports = MissionActions;
Моей интерпретация автоматических насмешек API & что установка mockReturnValue на издевались модуля (в данном случае GameStore) применяется на протяжении всего испытания, а не только в пределах тестового файла.
Как бы я мог насмехаться над методом GameStore.getGame(), чтобы он применим и в MissionActions.js?
Ничего себе, спасибо огромное. Я не могу поверить, что все было так просто. –
нет не было. и у меня была такая же проблема в моих тестах. Если вы используете babel с импортом, этот материал является убийцей. Жест, по моему мнению, не хватает подробностей в документации. в любом случае @Crob Хороший ответ. – Mihai