我希望能够定义一个变量,然后在 module.run() 函数内的 respond() 方法中使用该变量。我的 it() 中有这段代码:
var testValue=randomValue(); // suffice to say, a random value generator
var httpBackendMock = function() {
angular.module('httpBackendMock', ['ngMockE2E', 'name.of.app'])
.run(function($httpBackend) {
$httpBackend.whenPOST(/.*\/api\/data/).respond(function(method, url, data, headers) {
return [200, '<?xml version="1.0" encoding="UTF-8" standalone="yes"?> \
<data>'+testValue+'</data>', {}];
});
....
但是在对象上方定义的testValue
变量httpBackendMock
在 run() 函数中根本不可见,而是“未定义”。
我的理解是 JS 中的 'var' 定义的变量可用于内部范围的代码,但这不会发生在这里。有没有办法让变量在那里工作?