如何在角度js文件中編寫變量的單元測試。javascript單元測試變量和代碼沒有封裝在函數內
fooFactory.spec.js
..
describe('test fooFactory', function(){
it('test if statement', function(){
expect(?).toBe(?);
// how to write a test to pass values to testVar
// testVar runs before I can assign value to it.
// even if I have setters and getters how can I retest the if statement
});
});
..
fooFactory.js
(function() {
angular.module('MyApp').factory('fooFactory', fooFactory);
function fooFactory(someOtherFile){
var testVar = someOtherFile.someOtherfunc;
if(testVar){
// want to test this code. has 10 line of code
}
...
function foo(){
//does something and I can test this
}
...
return {
foo:foo
}
}
})();
我怎麼之前賦值的testvar如果語句運行
if(testVar){
// how do I test this code?
}
我應該封裝整個如果在一個功能,並使之通過的回報。
bar();
function bar(data){
if(data){
testVar = data;
}
if(testVar){
// how do I test this code?
}
}
return {
foo: foo,
bar: bar
}
有沒有更好的方法來做到這一點。 或者js文件應該首先有setter和getters。謝謝
這取決於你在裏面有什麼'if(testVar){' – jcubic
@jcubic sry for confusion,我實際上希望能夠傳遞一個值給testVar,以便可以測試裏面的代碼。 – patz