向量的单位测试
Unit test for a vector
请,我在这里搜索它,但无法正确执行。
因此,我有一个函数,它返回了我的sortig编号的vector
。然后,我尝试为此向量创建一个使用测试。
这是我现在拥有的:
#include "stdafx.h"
#include "CppUnitTest.h"
#include "Finder.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace FinderUnitTest
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
Finder f;
std::vector<int> v1 = f.find_words();
//find_words(); is working okay without tests
for (int i=0;i<1;i++)
Assert::AreEqual(57,v1[i]);
}
};
}
真的没关系,for
进行了多少次。我想毫无疑问地进行单位测试,我现在有一个:
向量线1795。表达式:"向量下标"
当我构建两个项目时,我如何获得该数据,即返回排序数字向量的fuction没有任何数据,因为当我运行测试时,有空。我是吗?
我只想将矢量的两个第一个数字与57
进行比较。
如果您期望find_words返回[57,57,...]这样的向量,则此测试应失败。但是,它不应该错误,而应该断言。您想修复您的支票,因此他们将问题视为违反违规的问题。
Finder f;
std::vector<int> v1 = f.find_words();
Assert::IsTrue(v1.size() >= 2); // there are at least two entries
Assert::AreEqual(57,v1[0]); // the first is 57
Assert::AreEqual(57,v1[1]); // the second is 57
我看不到您在哪里可以搜索的东西,但是如果您说应该找到57的东西,那就是老板。只需确保检查一下即可。一旦Unitest提供了这一断言,Unitest已经完成了工作,您可以返回,看看是否给Finder提供了正确的输入,或者是否有Finder内部的错误。
X21的评论是关于如何检测和避免崩溃的好编程实践。它通过完全不检查值来修复崩溃,因为这样做是错误的。它不是旨在编写单元测试的。单位测试必须检测并断言何时不是您期望的输出。在测试中,崩溃总比根本不检查要好。
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 数据成员SFINAE的C++17测试:gcc vs clang
- 如何使用重载的相等(==)运算符向测试用例添加描述
- 为什么二进制搜索在我的测试中不起作用
- 从父数组测试用例构造二叉树失败
- 试图对缓存进行跨步测试,但程序并没有结束
- 单位测试私人方法通过使其自由功能
- 单位测试QT中的非返回功能
- 向量的单位测试
- 单位测试.如何在Main()中运行测试
- 单位测试与课程
- 模拟单位测试用例所需的类更改
- LNK2019:与单位测试中未解决的外部符号
- 在C 开源项目中包括单位测试的最佳方法
- C - 在单位测试中创建间谍
- 如何将单位测试标记为在Netbeans测试结果窗口中跳过的?(C )
- 单位测试多个C 项目和团队的出口结果