我的应用程序是一个 Java webapp (*.war),它有一堆用 QUnit 编写的测试。它们不会自动运行。当我想运行测试时,我现在做的事情如下:
- 打开我要测试的浏览器
- 冲浪到
http://localhost:8080/app/tests/index.html
该tests/index.html
文件包含运行测试所需的所有内容(例如 AngularJS、QUnit 和我的测试)。
现在,我想做的是以更自动化的方式运行我的测试。我试过使用 Karma,像这样设置它(karma.conf.js
):
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['qunit'],
proxies: {
'/': 'http://localhost:8080/app/tests/index.html'
},
files: [],
exclude: [],
reporters: ['junit'],
port: 9876,
colors: true,
logLevel: config.LOG_DEBUG,
autoWatch: true,
browsers: [],
captureTimeout: 60000,
singleRun: true
});
};
但是,当我启动 Karma(通过karma start
在我的应用程序目录中执行)并 surf to 时http://localhost:9876/
,它似乎不起作用。中的输出test-results.xml
如下:
<?xml version="1.0"?>
<testsuites>
<testsuite name="Chrome 30.0.1599 (Mac OS X 10.8.5)" package="" timestamp="2013-10-14T15:30:01" id="0" hostname="dhcp-255-11" tests="0" errors="1" failures="0" time="0">
<properties>
<property name="browser.fullName" value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36"/>
</properties>
<system-out><![CDATA[
]]></system-out>
<system-err/>
</testsuite>
</testsuites>
我怀疑这与 Karma 想要从磁盘提供测试文件这一事实有关,但我不确定。此外,似乎简单地从外部主机提供测试应该不是问题?任何人都可以对此有所了解吗?