对复制函数进行单元测试
Unit test for copy function
我有一个名为copyMyFile(string src, string dest)
的c++函数,它只是将src文件复制到目标。现在我需要为这个函数编写一个单元测试。因为我从来没有写过单元测试,所以我不确定它应该包括什么。
我的意思是在我的test_copyMyFiles()
单元测试方法中,我应该只调用copyFiles()
方法和一些参数,就这样吗?或者我应该做一些其他的工作来完成单元测试?
将注释转移到答案,因为它们似乎有一些用处。
需要考虑的情况包括:空文件名;相同的文件名两次;无效的文件名。检查事项:文件副本与原件相同;当没有足够的磁盘空间用于复制时会发生什么;错误报告;如果目标是一个目录而不是文件名,会发生什么?
粗略地说,如果您已经对文件创建代码进行了单元测试,那么在测试文件复制代码时使用它应该是可以的(假设它通过了)。如果对文件复制代码进行单元测试,却发现在文件创建代码中存在bug,那就不太好了——那会导致混乱。因此,无论如何都要编写使用可信(已测试)代码的单元测试,但不要使用不可信(未测试)代码。这意味着你必须建立一个依赖列表,而你不能承受依赖列表中的循环。为了调用
copyMyFile
,我首先需要有一些文件,所以我猜在test_copyMyFiles()
方法中我需要首先创建一个文件。如果我也有一个函数createMyFile()
,我可以在我的单元测试中使用它吗?或者在单元测试另一个用户定义模块时使用一个用户定义模块不是好主意?
相关文章:
- 有没有办法在不使用 #ifdef 的情况下不编译发布版本中的单元测试函数体?
- 使用 Google Test 对自定义断言函数进行单元测试
- 在C++单元测试上下文中,抽象基类是否应将其他抽象基类作为函数参数
- C++ gmock - 我们如何在单元测试 cpp 文件中读取/获取 cpp 文件函数的参数值
- 在类 gtest/gmock 进行单元测试时模拟成员函数C++
- 如何正确地对 constexpr 函数进行单元测试
- 如何使用私有构造函数对类进行单元测试?
- 在为函数编写单元测试时,我应该模拟所做的内部函数调用吗?
- Qt单元测试:指针列表上的QCOMPARE函数
- 如何检查函数是在C++单元测试中的析构函数中调用的
- 我们应该修改单元测试的函数签名吗?
- 检测单元测试中的特定函数调用
- 单元测试呼叫实例变量的函数
- 如何使用 gtest 对 std::bind 函数进行单元测试
- 如何为将回调作为其参数的函数编写单元测试
- 在单元测试(Nunit或MSTest)中从C#中调用的C 函数的原因是从控制台应用程序中运行的同一代码的不同结果
- 静态函数的单元测试设计模式
- 如何嵌入实时单元测试函数的主体作为 Doxygen 的示例用法
- 使用 Qt 进行单元测试:更改测试函数中使用的标准路径
- 单元测试函数对象是否被调用