在我的应用程序中,我想在我的GooglePlaceRetriever服务上测试一个类方法。我知道,在使用Ember进行测试时,我可以使用this.subject()获取服务的实例,但我不确定如何访问实际的GooglePlaceRetriever对象本身来测试类方法。
import {
moduleFor,
test
} from 'ember-qunit';
moduleFor('service:google-place-retriever', 'GooglePlaceRetrieverService', {
// Specify the other units that are required for this test.
// needs: ['service:foo']
});
// Replace this with your real tests.
test('it exists', function() {
var service = this.subject();
ok(service);
});
test('fetches place details from Google and converts it to a location', function()
//Cannot figure out how to access the Class as opposed to the instance.
var location = ???.findByPlaceId('ChIJaeKPQD_zz4kRy4c8TvnwGIg');
ok(location.get('name'), "My Name");
});发布于 2014-12-24 06:43:31
您可以访问类方法来进行这样的测试:
var location = this.subject.constructor.findByPlaceId('whatever');但是为什么要使用类方法呢?服务不应该实例化吗?
https://stackoverflow.com/questions/27629728
复制相似问题