我正在尝试使用http://theintern.io NODEJS客户端运行测试,但是我收到以下错误:
~/WebstormProjects/life-tracker3$ node node_modules/.bin/intern-client config=tests/local.intern reporters=console
Error: **Attempt to require unloaded module superagent**
at contextRequire (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/intern/node_modules/dojo/dojo.js:255:12)
at req (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/intern/node_modules/dojo/dojo.js:30:10)
at /home/bogdanbiv/WebstormProjects/life-tracker3/tests/api_tests/express.tests.js:5:18
at Function.vm.runInThisContext (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/intern/node_modules/istanbul/lib/hook.js:163:16)
at /home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/intern/node_modules/dojo/dojo.js:760:8
at fs.js:268:14
at Object.oncomplete (fs.js:107:15)
使用相同的配置文件local.intern.config,intern-runner打开浏览器并正常运行所有测试(单元+功能)。当然,有些测试确实失败了,但这是可以预料的。完全"实习生"配置位于http://pastebin.com/c24QPxYE。
答案 0 :(得分:1)
堆栈跟踪表明您正在/home/bogdanbiv/WebstormProjects/life-tracker3/tests/api_tests/express.tests.js:5:18中调用require('superagent')
而未实际指定superagent模块作为依赖项,所以无法加载。 Intern测试中的require
函数是AMD加载器的require
函数,而不是Node.js require
函数。有关如何加载非AMD依赖项的更多信息,请参阅文档中的testing non-AMD code。