我正在将 Jasmine 添加到一个大型项目中,以便向该项目的 javascript 添加测试。通常我使用 Ruby,我在这里有点不习惯。
我有一个类,它有一个函数,我想为它创建一个间谍,以便它在我的一个测试期间返回某个值。这是代码的摘要:
class @MyKlass
current_location = ->
window.location.host
verify_domain: () ->
domain_filter = current_location()
domain_list = /example\.com/i
@valid_domain = domain_filter.match(domain_list)?
那么我该怎么做这样的事情呢?
it("verifies domains", function() {
spyOn(MyKlass, 'current_location').and.returnValue("example");
var myKlass = new MyKlass();
expect(myKlass.verify_domain()).toEqual(true);
});