Dan*_*Dan 9 unit-testing node.js nodeunit gruntjs
我有点不了解如何编写复杂的Gruntfile.js并将其与测试一起使用.我是否以正确的方式使用Grunt?我想请社区寻求帮助,并以其他方式做出贡献.
我正在为Grunt 写一个新任务,并希望在Github和npm上为广大观众推出它.我想为这项任务进行自动化测试(我想学习如何正确地完成它!).
我想测试不同的选项组合(现在大约15个).所以,我应该多次:
一些非工作代码,以便更好地理解:
Gruntfile:
grunt.initConfig({
test_my_task: {
testBasic: {
options: {
//first set
}
},
testIgnore: {
options: {
//another set
}
},
//...
}
clean: {
tests: ['tmp'] // mmm... clean test directory
},
// mmm... unit tests.
nodeunit: {
tests: ['test/*.js'] //tests code is in 'tests/' dir
}
});
grunt.registerTask('test', ['test_my_task']);
Run Code Online (Sandbox Code Playgroud)
我知道如何tmp/在options给定对象时检查文件夹是否处于所需状态.
问题在于把事情放在一起.
我会问模板代码作为答案,npo需要放置工作示例.
PS:你可以提出另一个测试工具,nodeunit不是必须的.
PPS:垃圾,我现在可以用普通的javascript写这个!也许我错了,我想把Grunt放进单元测试中?但我想测试我的任务在真实环境中如何工作,从Grunt传递不同的选项......
您可能希望查看grunt-lintspaces配置.测试看起来像这样,这似乎是一个很好的方法.grunt-lintspaces使用nodeunit,但现在似乎有很多插件.
如果你不想测试实际的grunt输出而不是功能,你可以使用grunt-mocha-test - https://github.com/pghalliday/grunt-mocha-test我用于grunt-available-tasks测试.我更喜欢描述个人测试风格,它读得很好; 使用它的好处是你实际测试你的插件做什么,而不包括你的Gruntfile中的大量配置; 即测试代码应该在测试中.
Grunt已经过很好的测试,因此测试其配置是否有效是没有意义的.只需测试您自己的插件的功能.
| 归档时间: |
|
| 查看次数: |
4622 次 |
| 最近记录: |