我想設置Intern.io所以我可以測試我的角應用程序。我也在使用Grunt和Bower。我只是試圖讓準系統自動執行測試任務。我的問題,當我嘗試運行測試是我收到以下錯誤信息:越來越角和intern.io一起工作
Running "intern:app" (intern) task
ReferenceError: window is not defined
at /Users/evanvandegriff/Documents/work/nomi_v2/nomi_v2/web/vendor/src/angular/angular.js:19288:3
at Function.vm.runInThisContext (/Users/evanvandegriff/Documents/work/nomi_v2/nomi_v2/web/node_modules/intern/node_modules/istanbul/lib/hook.js:163:16)
at /Users/evanvandegriff/Documents/work/nomi_v2/nomi_v2/web/node_modules/intern/node_modules/dojo/dojo.js:760:8
at fs.js:271:14
at Object.oncomplete (fs.js:107:15)
Warning: ReferenceError: window is not defined
at /Users/evanvandegriff/Documents/work/nomi_v2/nomi_v2/web/vendor/src/angular/angular.js:19288:3
at Function.vm.runInThisContext (/Users/evanvandegriff/Documents/work/nomi_v2/nomi_v2/web/node_modules/intern/node_modules/istanbul/lib/hook.js:163:16)
at /Users/evanvandegriff/Documents/work/nomi_v2/nomi_v2/web/node_modules/intern/node_modules/dojo/dojo.js:760:8
at fs.js:271:14
at Object.oncomplete (fs.js:107:15) Use --force to continue.
我app.js的樣子:
angular.module('ngNomi', [
])
.config(function myAppConfig() {
})
.run(function run() {
})
.controller('AppCtrl', function AppCtrl ($scope, $location) {
});
這裏是我的intern.js文件:
// Learn more about configuring this file at <https://github.com/theintern/intern/wiki/Configuring-Intern>.
// These default settings work OK for most people. The options that *must* be changed below are the
// packages, suites, excludeInstrumentation, and (if you want functional tests) functionalSuites.
define({
// The port on which the instrumenting proxy will listen
proxyPort: 9000,
// A fully qualified URL to the Intern proxy
proxyUrl: 'http://localhost:9000/',
// Default desired capabilities for all environments. Individual capabilities can be overridden by any of the
// specified browser environments in the `environments` array below as well. See
// https://code.google.com/p/selenium/wiki/DesiredCapabilities for standard Selenium capabilities and
// https://saucelabs.com/docs/additional-config#desired-capabilities for Sauce Labs capabilities.
// Note that the `build` capability will be filled in with the current commit ID from the Travis CI environment
// automatically
capabilities: {
'selenium-version': '2.41.0'
},
// Browsers to run integration testing against. Note that version numbers must be strings if used with Sauce
// OnDemand. Options that will be permutated are browserName, version, platform, and platformVersion; any other
// capabilities options specified for an environment will be copied as-is
environments: [
{ browserName: 'internet explorer', version: '11', platform: 'Windows 8.1' },
{ browserName: 'internet explorer', version: '10', platform: 'Windows 8' },
{ browserName: 'internet explorer', version: '9', platform: 'Windows 7' },
{ browserName: 'firefox', version: '28', platform: [ 'OS X 10.9', 'Windows 7', 'Linux' ] },
{ browserName: 'chrome', version: '34', platform: [ 'OS X 10.9', 'Windows 7', 'Linux' ] },
{ browserName: 'safari', version: '6', platform: 'OS X 10.8' },
{ browserName: 'safari', version: '7', platform: 'OS X 10.9' }
],
// Maximum number of simultaneous integration tests that should be executed on the remote WebDriver service
maxConcurrency: 3,
// Name of the tunnel class to use for WebDriver tests
tunnel: 'SauceLabsTunnel',
// The desired AMD loader to use when running unit tests (client.html/client.js). Omit to use the default Dojo
// loader
// useLoader: {
// 'host-node': 'dojo/dojo',
// 'host-browser': 'node_modules/dojo/dojo.js'
// },
// Configuration options for the module loader; any AMD configuration options supported by the specified AMD loader
// can be used here
loader: {
packages: [
{ name: 'angular', location: 'vendor/src/angular/angular' },
{ name: 'angular-mocks', location: 'vendor/src/angular/angular-mocks' }
]
},
// Non-functional test suite(s) to run in each browser
suites: [ 'src/app.test.js' ],
// Functional test suite(s) to run in each browser once non-functional tests are completed
functionalSuites: [ /* 'myPackage/tests/functional' */ ],
// A regular expression matching URLs to files that should not be included in code coverage analysis
excludeInstrumentation: /^node_modules/
});
基本上,運行測試時,如何獲得在該文件中定義的窗口?
行24699明確地說:})(window,document);所以它期望發送到iffy的窗口上下文,並且node.js上下文中沒有窗口。 – httpete 2014-09-27 14:20:33
我認爲你的意思是「intern.js」@Evan – httpete 2014-09-28 12:47:05