软件工程第二次作业

1 开发工具的选择

  我们组经过讨论,选择了一直用的codeblocks作为团队项目开发工具,选择语言为C++。由于之前已经使用过codeblocks,因此在此仅附上运行该开发工具的截图:

2 自动单元测试学习

  上网查阅后我们团队的项目的组长选择了googleText作为测试单元的工具,并且他的这篇文章
对我完成作业有很大的帮助。

(1) 工具下载

  • 下载工具解压并在相应路径下完成创建:
  • codeblocks的配置:
      清除-std=c++11有关的复选框:

      添加-std=gnu++11:

      点击search directories填写文件夹路径;

(2) 进行单元测试

  完成之前的各项配置和更改后,就可以进行单元测试了。我选择的以前的作业作为测试代码,测试实现的基本功能为,测试数据为素数输出1,否则输出0。具体代码如下:

#include<gtest/gtest.h>
#include<iostream>
#include<stdio.h>
using namespace std;
//int prime(int);
/*int main()
{
	int x;
	scanf("%d",&x);
	if(prime(x)==1)
		printf("%d is prime\n",x);
	else printf("%d is not prime\n",x);
	return 0;
}*/
int prime(int y)
{
	int i,flag=1;
	for(i=2;i<=y/2;i++)
		if(y%i==0)
		{
			flag=0;
			break;
		}
		return flag;
}
TEST (primeTest,HandleNoneZeroInput)
{
    EXPECT_EQ(1,prime(3));//输出为1是素数
    EXPECT_EQ(0,prime(4));//输出为0不是素数
    EXPECT_EQ(1,prime(8)); //错误的测试案例
}
int main(int argc, char *argv[]){
   // int a;
    testing::InitGoogleTest(&argc,argv);
    return RUN_ALL_TESTS();
   // cout<<prime(a);
    return 0;
}

最终测试结果运行如下图所示。可见有两个正确的测试结果,一个错误的。

posted @ 2018-03-21 23:20  菜菜菜121  阅读(151)  评论(0编辑  收藏  举报