Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未调用$resource回调_Javascript_Angularjs_Unit Testing_Angular Resource - Fatal编程技术网

Javascript 未调用$resource回调

Javascript 未调用$resource回调,javascript,angularjs,unit-testing,angular-resource,Javascript,Angularjs,Unit Testing,Angular Resource,我有一个方法可以调用Angular的$resource。我试图测试这个方法的返回值。这种方法应该足够简单,可以测试 方法代码 getCountries(): returnTypeObject { var countries = this.$resource( this.apiEndpoint.baseUrl, { 'get': { method: 'GET',

我有一个方法可以调用Angular的$resource。我试图测试这个方法的返回值。这种方法应该足够简单,可以测试

方法代码

getCountries(): returnTypeObject {
        var countries = this.$resource(
            this.apiEndpoint.baseUrl,
            {
                'get': {
                    method: 'GET', isArray: false
                }
            });
        return countries;
    }
单元测试

describe('module', (): void => {

    beforeEach((): void => {
        angular.mock.module('ngResource');
    });

    describe('getCountries...', (): void => {

        it("should...", inject(
            ['Builder', (Builder: IBuilder): void => {
                Builder.getCountries().get(
                    (value: any) => {
                        console.log(value);
                    }, (error: any) => {
                        console.log(error);
                    });
            }]));
    });

});
在上面的代码中,当我运行我的测试时,没有一个回调被调用。“值”和“错误”都不会被打印出来。我一直在寻找一个解决方案,但现在还没有找到任何东西


请记住,我不想模拟$resource,而是想测试getCountries().get()返回的内容,然后我想使用回调测试返回值。

$resource是异步的。代码中的var countries只是不同的,所以您的变量是:Builder.getCountries().get().then(函数(yourRealResponse){console.log(yourRealResponse);}).catch(函数(yourError){});谢谢@koiiey有什么原因导致getCountries返回的对象未定义?我不知道,抱歉。理论上,getCountries应该返回资源对象。我认为我的问题是,我应该异步测试它。。。我又发了一个帖子