gpt4 book ai didi

c++ - 升压测试应用程序初始化

转载 作者:行者123 更新时间:2023-11-30 04:39:43 26 4
gpt4 key购买 nike

我刚刚对一个新应用程序进行了一般的提升测试和单元测试,我不确定如何处理应用程序初始化(例如加载配置文件、连接到数据库、启动嵌入式 python 解释器等)。

我想测试这个初始化过程,而且应用程序中的大多数其他模块都需要初始化成功。

一些运行一些关闭代码的方法也将不胜感激。

我应该怎么做?

最佳答案

看来您打算做的更多是集成测试而不是单元测试。这不是精确定位措辞,但它有所作为。单元测试意味着测试方法隔离,在称为夹具的环境中,仅为一个测试创建,结束然后删除。如果下一个案例需要相同的灯具,则将重新创建灯具的另一个实例。这样做是为了隔离测试,以便一个测试中的错误不会影响后续测试的结果。

通常,一个测试包含三个步骤:

  • 安排 - 准备夹具:实例化要测试的类,可能需要其他对象
  • Act——调用被测方法
  • 断言 - 验证期望

单元测试通常远离文件和数据库等外部资源。相反 mock objects用于满足待测类的依赖。

但是,根据应用程序的类型,您可以尝试从应用程序本身运行测试。这不是“纯粹的”单元测试,但无论如何都是有值(value)的,特别是如果代码在编写时没有考虑单元测试,它可能不够“灵活”以进行单元测试。

这需要一种特殊的执行模式,例如带有“-test”参数,它将正常初始化应用程序,然后调用将模拟输入的测试并使用断言来验证应用程序是否按预期使用react。同样,如果数据库连接已关闭(如果对象未被删除),则可以调用关闭代码并使用断言进行验证。

与单元测试相比,这种方法有几个缺点:它依赖于配置文件(软件的行为可能因参数而异)、数据库(依赖于它的内容和连接到它的能力)、测试不是孤立的...前两个问题可以通过使用配置的默认值并以测试 模式连接到测试数据库来克服。

关于c++ - 升压测试应用程序初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2004808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com