javascript - 将模拟与 Angular 场景运行器一起使用

标签 javascript mocking tdd angularjs

在 Angular 单元测试中,可以创建模拟并将它们注入(inject) Controller 。我想在 e2e 测试中做同样的事情。这可能吗?我环顾四周,但找不到太多东西。

我认为答案可能与ngMockE2E.$httpBackend有关.

这是我希望它看起来像的示例:

describe('server status', function() {

    beforeEach(function() {
        var backend = new HttpBackend(); // or however you get an instance
        backend.get('/foo', 'bar');
        injectBackend(backend);
    });

    it('should display data from server', function() {
        expect(element('.dataFromServer').text()).toBe('bar');
    });
});

这可能吗?

(我正在使用 Testacular 和 Jasmine,物有所值。)

最佳答案

可以使用jasmine's spies ,用于 spy 、 stub 和模拟。这是 an example of creating an instance of a controller with two stubbed dependencies .它在 coffeescript 中,但您可以转换它 here .

虽然 $httpBackend 听起来像我会做的,但这取决于您要查找的内容。 (见 SonOfNun 的评论)

关于javascript - 将模拟与 Angular 场景运行器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13167265/

相关文章:

javascript - 如何使用 javascript 获取下一个/转发 url?

javascript - 鼠标悬停时。保持类直到悬停另一个元素

java - 使用 JMockit 中的现有类模拟类(替换 `redefineMethods` )

unit-testing - 如果 TDD 用于单元,测试怎么会意外地先通过(作为一个错误)?

asp.net-mvc - 是否有任何带有 TDD 和 MOQ 源代码的好的 ASP.Net MVC 项目可用?

javascript - 拦截所有ajax调用?

javascript - 最内层 TABLE 的 CSS 选择器?

javascript - 如何使用Sinon.js 模拟传递到函数中的对象?

java - 在同一对象中使用其他方法的 JUnit 测试方法

c++ - C++ 中的 TDD。如何测试私有(private)类的好友功能?