当前位置: 首页 > 知识库问答 >
问题:

模拟服务的角度单元测试

长孙高远
2023-03-14

我想对一个组件的功能进行单元测试。因此,我需要一个模拟服务(根据角度测试指南)。

这里是我的测试床:

            TestBed.configureTestingModule({
            declarations: [LanguageSelectorComponent],
            providers: [
                { provide: LanguageSelectorService, useValue: userServiceStub }]
        });
            let userServiceStub: Partial<LanguageSelectorService>;
        userServiceStub = {
            _languages:
                [
                    {
                        ID: '',
                        Name: '',
                        ImageSrc: ''
                    },
                    {
                        ID: '',
                        Name: '',
                        ImageSrc: ''
                    }
                ]
        };

那么,嘲笑服务价值的正确方法是什么呢?

弗兰克

共有1个答案

樊胜
2023-03-14

服务代码:

    @Injectable()
export class LanguageSelectorService {
    _projectsUrl = 'languages.json';
    _configurationtemplatesUrl = 'configurationtemplates.json';
    _configurationtemplatePDFUrl = 'configurationtemplatePDF.json';
    _baseUrl: string;
    public _languages: Observable<ILanguage[]>;

    constructor(private _http: HttpClient, private _logger: NGXLogger) {
        this._baseUrl = '../../api';
        this._languages = this._http
            .get<ILanguage[]>(`${this._baseUrl}/${this._projectsUrl}`);
    }

    getLanguages(): Observable<ILanguage[]> {
        return this._languages;
    }
}
 类似资料:
  • 问题内容: 在Angular中,所有内容似乎都具有陡峭的学习曲线,并且对Angular应用程序进行单元测试绝对不能逃脱这种范例。 当我开始使用TDD和Angular时,我觉得我花了两倍(可能更多)的时间来弄清楚如何测试,甚至花更多的时间来正确地设置测试。但是正如Ben Nadel 在他的博客中所说的那样,角度学习过程存在起伏。他的图表绝对是我在Angular的经历。 但是,随着我在学习Angula

  • 我正在尝试对服务方法进行单元测试。服务方法调用spring数据存储库方法来获取一些数据。我想模拟这个存储库调用,并自己提供数据。如何做到这一点?在Spring Boot文档之后,当我模拟存储库并在测试代码中直接调用存储库方法时,模拟工作正常。但是,当我调用服务方法时,反过来调用存储库方法,mocking就不起作用了。下面是示例代码: 服务级别: 测试等级:

  • 问题内容: 我正在尝试编写业力/茉莉花测试,我想对模拟如何在正在返回诺言的服务上工作进行一些解释。我解释一下我的情况: 我有一个控制器,在其中执行以下调用: 这是我的服务方式: 最后,这是我的单元测试: 我真正想做的是将响应对象({“ elements:…})作为fillMapDatas函数的datas参数。我不了解如何模拟所有服务内容(服务,承诺,然后) 问题答案: 因此,如果您的服务是否按预期

  • 我正在进行一个spring-boot项目,其中我有一个控制器,它调用服务方法并处理输出。 我正在使用spring MockMvc测试web层。在我的测试类中,我用Mockito.when()模拟了服务方法。但是当我调用相应的处理方法时,它不是调用被模仿的服务方法,而是返回一个空响应。 控制器 测试类 返回的响应是 请帮我解决这个问题。提前谢谢!

  • 我想知道我正在构建和测试的服务的方法是否正确。我总是将我的类设计为尽可能的封装。所以,在构建角度服务时,我也用同样的方式构建它们。 下面是我的服务的一个片段: 如上所述,我不允许组件直接访问私有变量,而是使用方法来完成所有交互。这里的问题是单元测试有点混乱。如果我想正确测试我的方法是否正确返回我的中的帖子列表,如果它存在,我必须在为超文本传输协议创建存根值后运行它一次,以确保私有字段设置,然后再次

  • 问题内容: 我有以下情况: controller.js controllerSpec.js 错误: 我也尝试过类似的方法,但没有成功: 我该如何解决?有什么建议? 问题答案: 有两种方法(或肯定有更多方法)。 想象一下这种服务(无论它是工厂都没关系): 使用此控制器: 一种方法是使用要使用的方法创建对象并对其进行监视: 然后,将其作为dep传递给控制器​​。无需注入服务。那可行。 另一种方法是模拟