【发布时间】:2021-02-28 08:32:31
【问题描述】:
我是一名学生,是单元测试的新手。我在编写项目时对测试问题感到困惑。
我有三个函数A()、B(string file) 和C()。 A() 用于初始化,它创建一个目录temp 来存储文件。 B(string file) 将文件写入temp。 C() 将temp 中的当前文件转移到另一个地方并标记这些文件。它们通常按以下顺序调用:
| - - - - - - - - - - - - -
\ / |
A - - -> B (multiple times) - - -> C
(这三个函数有点像版本控制系统中的命令init、add和commitgit)
事情是这样的:
- 我已经编写了
A()的测试和实现。在testB()中我需要初始化,所以我调用A()。虽然经过测试,但似乎这是一个糟糕的选择。我应该怎么办?我应该在testB()中自己创建目录temp吗? - 如果文件已被
C()标记,那么B(string file)应该什么都不做,如果我们将文件转发给B(string file)。如何测试这种情况?
如果您能提供详细说明,我将不胜感激。
【问题讨论】:
标签: c++ unit-testing