当然,您有几个选项,这两个选项都涉及编写单元测试(不是功能测试)。一种是直接使用 Intern's 在浏览器中运行单元测试client.html
,另一种是使用 WebDriver ( intern-runner
) 在浏览器中运行它们。
您的单元测试将加载您尝试测试的任何类、实例化它们的实例、进行断言等。由于您的单元测试将在浏览器中运行,它们将可以访问 DOM。
请注意,您的测试不会加载测试页面,它们会加载代码模块。所以一个测试可能看起来像:
define([
'intern!object', 'intern/chai!assert', 'app/View'
], function (registerSuite, assert, View) {
var view;
registerSuite({
name: 'app/View',
afterEach: function () {
// cleanup the view after each test
view.remove();
view = null;
},
someTest: function () {
var view = new View();
// run tests on the view
}
});
要使用 WebDriver 运行测试,请将其列在suites
而不是functionalSuites
在实习生配置中,然后以 webdriver 模式(intern-runner
或intern run -w
)运行实习生。
要在浏览器客户端中运行测试,请在项目目录中启动一个静态服务器(intern serve
如果使用 intern-cli),打开浏览器并浏览到http://localhost:<port>/node_modules/intern/client.html?config=tests/intern
(假设您的测试配置位于tests/intern.js
)。