У меня есть требуемый файл контроллера, который определяет Магистральные Модели и Представления в своей структуре, а затем с каждой другой функциональностью модели он вызывает соответствующий вызов Rest Web Service.Ниже приведена структура моего контроллера: -
define([ 'core/libs', 'modules/test/mapping/models/TestModel' ], function(libs, TestModel) {
var testModel = TestModel.testModel;
testModel.on("executeSimulatorButton", function() {
$("#simulatorMessage").html("Executing simulator ...");
testModel.get("executeSimulator").set("endDate", $("#datepickerReportingEnd").datepicker().val());
testModel.get("executeSimulator").set("startDate",$("#datepickerReportingStart").datepicker().val());
testModel.get("executeSimulator").invokeGet();
});
testModel.get("executeSimulator").on("update", function() {
$("#simulatorMessage").html(testModel.get("executeSimulator").get("value"));
});
testModel.on("truncateSimulatorButton", function() {
$("#simulatorMessage").html("Truncating simulator results...");
testModel.get("truncateSimulator").invokePost();
});
testModel.get("truncateSimulator").on("update", function() {
$("#simulatorMessage").html(testModel.get("truncateSimulator").get("value"));
});});
И в моем файле спецификации Jasmine я включаю контроллер, как это -
define(
[ 'modules/test/mapping/controllers/TestController','modules/test/mapping/models/TestModel'],
function(controller,TestModel) {
describe("TestController :", function() {
it("should create an test instance", function() {
console.log("testcontroller: " + controller);
expect(controller).not.toBe(null);
});
});
describe("TestController :", function() {
it("should test testModel instance", function() {
var testModel=TestModel.testModel;
expect(testModel.on("executeSimulatorButton",jasmine.any(Function))).toBeDefined();
});
});
});
Приведенный выше код не выдает никакой ошибки, ночасть executeSimulatorButton не покрывается контроллером.Я не могу напрямую использовать переменную контроллера в своем тесте с жасмином, потому что console.log печатает undefined вместо [Object object].Я нашел много решений относительно AngularJS, но так как я не использую Angular, я не знаю, как проверить контроллер.Как проверить и получить покрытие кода для контроллеров этого типа с использованием жасмина?