我可以从Resharper 8.0单元测试运行程序运行Jasmine单元测试。我遇到了一个问题,任何通常在html页面中的Javascript引用(在我的例子中是ExtJs),我都不能使用Resharper测试运行程序,因为你似乎无法访问Resharper使用的html页面。(我认为它是生成的,因为我在磁盘上找不到它)
我在想,如果有一种方法可以直接从Javascript测试文件调用或加载外部库引用,而不是通过html页面,那么我可以让它发挥作用。我还没有发现Javascript(或ExtJs)是否可以做到这一点。
目前的做法似乎是将include语句硬编码为套件文件中的特殊注释(称为文档注释引用),例如:
// include external files like so:
/// <reference path="/path/to/external-file.js" />
// than write your testing suite as usual:
describe('a silly suite', function() {
it('should test something is happening', function() {
expect(something).toBe('happening');
});
});
请参阅ReSharper社区上的此帖子,作为此建议的来源。
我写了两个repos来处理ExtJS 4,用于使用Karma测试运行器/Jastine 1.x和2.0版本进行单元测试,并处理异步问题:它们是:https://github.com/cgauthier/karma_jasmine_1_extjs4和https://github.com/cgauthier/karma_jasmine_2_extjs4.加载外部引用的诀窍是将它们作为文件添加到模块声明中。