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

单元测试需要很多接口?

通学真
2023-03-14
    null

共有1个答案

宰父宾实
2023-03-14

对于这样的问题,没有一个最好的答案,但我可以分享我的团队的一些经验。我们使用的方法如下。这个项目被分成一些我们内部称之为“模块”的东西。这些基本上只是C++类,但它们的特殊之处在于,它们是项目中最大/最重要的类。这些类的接口公开给其他模块(这是通过CMake配置的),以便它们可以相互使用。每个模块都是一个小型静态库,在该库中有额外的C++类,这些类只需要完成包含模块的功能,而与其他模块无关。这些类与模块一起被配置为私有的(同样通过CMake),其他模块不知道这些类。

在简短地解释了我们的项目是如何组织的之后,回到你的问题上来:

>

  • 对于需要向其他模块公开的模块的主要类(通常是1-3),我们创建一个带有详细文档的接口(纯虚拟类)(详细说明客户端应该如何使用类的精确约定、序列图、所有方法的详细文档等)。然后,我们有一个从这个接口继承并向其他模块公开的模拟,还有一个实现类(您称之为生产类),它也继承了这个模块,但对模块是私有的(其他类不需要实现细节,只需要了解如何创建和使用接口的实例)。

  •  类似资料:
    • 我启动了一个项目,现在项目中有大约7个测试,使用执行整个测试套件已经花费了一分钟多的时间。 从附加输出(标志)中,我可以看到,对于每个测试类和方法,整个quarkus应用程序以及mongodb实例等依赖项都会重新启动。 这与quarkus文档在测试指南页面上的内容完全相反: 到目前为止,在我们的所有示例中,我们只为所有测试启动Quarkus一次。在运行第一个测试之前,Quarkus将启动,然后所有

    • 问题内容: 现在一段时间以来,我的单元测试花费的时间比预期的长。我已经尝试调试了几次,但是没有成功,因为延迟是在我的测试甚至开始运行之前。这影响了我在远程测试驱动开发附近做任何事情的能力(也许我的期望太高了),所以我想看看我是否可以一劳永逸地解决这个问题。 运行测试时,测试的开始与实际开始之间会有70到80秒的延迟。例如,如果我针对一个小模块运行测试(使用),我得到 1m:21中的大约1m18位于

    • 我有以下服务方式: 我正试图为此方法创建以下单元测试: 我的问题是: 1.我们需要在单元测试中测试方法吗?如果是这样,我们是否应该为列表创建多条记录,然后将返回的结果与预期的筛选值进行比较? 泛型可译:

    • 我正在尝试micronaut,我在理解如何进行单元测试方面遇到了一些困难。 我有一个只有一个控制器的简单应用程序(它返回hello)。 现在我要测试这个endpoint。来自springboot的我希望micronaut有一些runner类,比如,但我找不到。micronaut中有运行测试的runner类吗? 从这里的文档中,我看到可以使用HttpClient测试restendpoint。我两个都

    • 晚安, 我正在对我的服务进行一些测试,在删除方法中执行测试时遇到了问题。 我想知道是否有人犯过这个错误,可以帮助我。 我扫描时出错。据报道,该方法没有使用。 例外情况: 代码:

    • 在使用命令时,是否需要maven-surefire插件来运行单元测试? 我阅读了文档,知道它说: Surefire插件在构建生命周期的测试阶段用于执行应用程序的单元测试。它以两种不同的文件格式生成报告: 纯文本文件(. txt)XML文件(. xml)缺省情况下,这些文件是在${Basedir}/Target/surefire-报告中生成的。 然而,我在没有使用surefire插件的情况下运行了这