Gre*_*ith 6 javascript asp.net asp.net-mvc unit-testing visual-studio
我有一个.NET MVC解决方案,它包含各种javascripts,我希望能够使用QUnit测试这些脚本,所以
我在哪里放置测试脚本和QUnit文物?
在mvc项目中?如果是,那么我可能需要在部署应用程序时通过构建过程删除这些脚本?好像有点垃圾?我真的不希望测试代码与生产代码混在一起.
在一个单独的"测试"网络项目中?非常适合更好的分离,但后来我需要一些构建操作,将我的SUT脚本移动到这个单独的项目中,以便测试脚本可以引用它们.可能比选项1更好,但仍然有点垃圾?
什么是最佳做法?有最好的做法吗?我没有提到的其他一些方法?有什么工具可以帮忙吗?我错过了一些明显的事吗?
这表明单独的项目+ Xcopy类型的解决方案,但答案是相当古老的.
谢谢.
像大多数人一样,我喜欢将测试与生产代码分开.
如果您正在使用VS2012(或更高版本)和Chutzpah测试适配器,那么您可以简单地为测试创建一个单独的类库,就像您对.NET代码一样.
将tests.js`文件添加到测试类库,并简单地从主项目中引用相应的脚本.例如,使用Jasmine和Angular:
/// <reference path="../../MainProject/lib/angular/angular.js" />
/// <reference path="../../MainProject/lib/angular/angular-mocks.js" />
/// <reference path="../../MainProject/lib/angular/angular-resource.js" />
/// <reference path="../../MainProject/lib/jasmine.js" />
/// <reference path="../../MainProject/scripts/controllers.js" />
describe('My controller tests', function () {
...
});
Run Code Online (Sandbox Code Playgroud)
如果要避免在每个测试js文件中重复所有这些引用路径,可以将它们添加到_references.js
文件中,然后只引用文件中的一个脚本tests.js
.您需要手动引用该文件,因为您不在Web项目中,并且控制台项目没有与Web项目相同的隐式引用.
归档时间: |
|
查看次数: |
1874 次 |
最近记录: |