51Testing软件测试论坛
标题:
10期关于CPPUNIT 问题
[打印本页]
作者:
kings727
时间:
2006-5-13 23:02
标题:
10期关于CPPUNIT 问题
我在老师给我们的CPP工程里准备在加一个测试套 等我调试好了以后却出现下面这种情况 我程序里只定义了2个套 问题是难看不说 而且统计也有问题 本来一共是19的用例 现在却显示20 个 老师帮我指点下 程序付后面 谢谢
这是mytest.cpp
#include "stdafx.h"
#include "MyTest.h"
#include "test.h"
// 把这个TestSuite注册到名字为"CounterTest"的工厂中
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( IsCodeLineTest,"CounterTest" );
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MainStatCommLine ,"CounterTest" );
#define RET_OK 0
#define RET_FAIL 1
void IsCodeLineTest::Test1()
{
//定义输入参数
int bIsComment;
CString szFileLine;
//定义期望输出
int iOkReturn;
int iOkIsComment;
//定义测试实际输出
int iResult;
CCounter m_counter;
//用例输入
szFileLine = "int a";
bIsComment = false;
//期望输出
iOkReturn = RET_OK;
iOkIsComment = false;
//驱动被测函数
iResult = m_counter.IsCodeLine(szFileLine,bIsComment);
//结果比较
CPPUNIT_ASSERT_EQUAL(iOkReturn,iResult);
CPPUNIT_ASSERT_EQUAL(iOkIsComment,bIsComment);
}
中间有16个用例我删掉了 太长了
void IsCodeLineTest::Test18()
{
//定义输入参数
int bIsComment;
CString szFileLine;
//定义期望输出
int iOkReturn;
int iOkIsComment;
//定义测试实际输出
int iResult;
CCounter m_counter;
//用例输入
szFileLine = "/*a+b+c;";
bIsComment = false;
//期望输出
iOkReturn = RET_FAIL;
iOkIsComment = true;
//驱动被测函数
iResult = m_counter.IsCodeLine(szFileLine,bIsComment);
//结果比较
CPPUNIT_ASSERT_EQUAL(iOkReturn,iResult);
CPPUNIT_ASSERT_EQUAL(iOkIsComment,bIsComment);
}
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(MainStatCommLine ,"CounterTest" );
void MainStatCommLine ::Test1()
{
//定义输入参数
//int bIsComment;
CString szFileLine;
CString szStatFileName;
//定义期望输出
int CodeLineNum;
//定义测试实际输出
//int iResult;
CCounter m_counter;
extern int g_iCodeLineNum;
//用例输入
szFileLine = "e:/text.c";
//期望输出
CodeLineNum=1;
//驱动被测函数
//iResult = m_counter.IsCodeLine(szFileLine,bIsComment);
m_counter.StatCodeLine(szStatFileName);
//结果比较
CPPUNIT_ASSERT_EQUAL(CodeLineNum,g_iCodeLineNum);
}
这个是mytest.h
#include "cppunit/extensions/HelperMacros.h"
class IsCodeLineTest : public CppUnit::TestFixture {
// 声明一个TestSuite
CPPUNIT_TEST_SUITE( IsCodeLineTest);
// 添加测试用例到TestSuite, 定义新的测试用例需要在这儿声明一下
CPPUNIT_TEST( Test1 );
CPPUNIT_TEST( Test2 );
CPPUNIT_TEST( Test3 );
CPPUNIT_TEST( Test4 );
CPPUNIT_TEST( Test5 );
CPPUNIT_TEST( Test6 );
CPPUNIT_TEST( Test7 );
CPPUNIT_TEST( Test8 );
CPPUNIT_TEST( Test9 );
CPPUNIT_TEST( Test10 );
CPPUNIT_TEST( Test11 );
CPPUNIT_TEST( Test12 );
CPPUNIT_TEST( Test13 );
CPPUNIT_TEST( Test14 );
CPPUNIT_TEST( Test15 );
CPPUNIT_TEST( Test16 );
CPPUNIT_TEST( Test17 );
CPPUNIT_TEST( Test18 );
// TestSuite声明完成
CPPUNIT_TEST_SUITE_END();
public:
// 定义测试用例
void Test1 ();
void Test2 ();
void Test3 ();
void Test4 ();
void Test5 ();
void Test6 ();
void Test7 ();
void Test8 ();
void Test9 ();
void Test10 ();
void Test11 ();
void Test12 ();
void Test13 ();
void Test14 ();
void Test15 ();
void Test16 ();
void Test17 ();
void Test18 ();
void Test19 ();
};
class MainStatCommLine : public CppUnit::TestFixture {
// 声明一个TestSuite
CPPUNIT_TEST_SUITE(MainStatCommLine);
// 添加测试用例到TestSuite, 定义新的测试用例需要在这儿声明一下
CPPUNIT_TEST( Test1 );
// TestSuite声明完成
CPPUNIT_TEST_SUITE_END();
public:
// 定义测试用例
void Test1 ();
};
Sample Text
作者:
yjshen
时间:
2006-5-13 23:09
标题:
相关图片
相关图片
作者:
kings727
时间:
2006-5-13 23:25
标题:
不好意思 我找到了
自己太粗心了
作者:
arik
时间:
2006-5-20 21:25
也是自己问自己答啊??
不象
作者:
kings727
时间:
2006-5-20 21:46
标题:
回答应广大同学的要求 我把错的地方给指出来
// 把这个TestSuite注册到名字为"CounterTest"的工厂中
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( IsCodeLineTest,"CounterTest" );
下面这局在这里定义了 在下面有定义了一次
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MainStatCommLine ,"CounterTest" )
在这个地方
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(MainStatCommLine ,"CounterTest" );
void MainStatCommLine ::Test1()
{
//定义输入参数
//int bIsComment;
CString szFileLine;
CString szStatFileName;
。。。。。。
所以说我比较粗心 大家 也要多努力 多试试 不要在出我这种问题了
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2