我知道已经回答了几个类似的问题(Testing custom JavaScript (not Node module) with Intern和Can't get Intern to run Node.js Module),但即使阅读了这些答案,我仍然无法使用实习生进行一些简单的测试。我觉得只有一件我忽略或丢失的小件。
我正在尝试评估Intern以用于现有的Javascript项目。它不是一个Node项目,只是简单的Javascript。如果重要,我试图在Windows机器上执行此评估。
我的项目层次结构如下所示:
APEFIntern/
apeform/
test/
intern.js - Intern configuration
spec_inwf.js - Tests for inwf
inwf.js - Code to test
intern/
实习配置文件:
// ...
// Configuration options for the module loader; any AMD configuration options supported by the Dojo loader can be
// used here
loader: {
// Packages that should be registered with the loader in each testing environment
//packages: [ 'apeform' ]
},
// Non-functional test suite(s) to run in each browser
suites: [ 'apeform/test/spec_inwf' ],
// ...
我是Node和AMD的新手,但我相信由于我的项目不是节点项目,我不需要使用loader.packages配置吗?
测试文件spec_inwf.js
define([
'intern!bdd',
'intern!chai!expect',
'apeform/inwf.js'
], function (bdd, expect) {
with (bdd) {
describe("inwf suite", function () {
// Tests
});
}
});
我执行以下命令尝试运行测试:
node client.js config=apeform/test/intern
我从命令收到的唯一输出是:
Defaulting to "console" reporter
如果我在Intern配置中将suites数组设置为空,当我在#4中执行命令时,我收到消息“0/0 tests passed”。我相信这是正确的输出。但每当我尝试连接到测试套件时,测试都不会运行。我不确定在这个等式中我还缺少什么。任何帮助将不胜感激。
答案 0 :(得分:0)
您的spec_inwf.js
测试文件中的语法问题似乎很小:
'intern!chai!expect',
应该是
'intern/chai!expect',
其他一切看起来都不错。
注意:如果您的项目不是Node项目,那么关于不需要使用loader.packages
配置的声明并不准确。但是,您不需要在此特定情况下使用您提供的文件结构。 The amdjs packages documentation可能值得阅读,以便更好地理解此配置选项,因为它是特定于AMD的,而非特定于实习生。希望这会有所帮助。