首页 > 代码库 > 四则运算测试

四则运算测试

1.上网查询关于VS2015对程序进行单元测试的教程,学习了测试的方法。

  (1)首先打开VS2015新建一个测试项目,如图:

  技术分享

  (2)编写测试代码:

  此代码是对四则运算求值测试

#include "stdafx.h"using namespace System;using namespace System::Text;using namespace System::Collections::Generic;using namespace Microsoft::VisualStudio::TestTools::UnitTesting;namespace TestProject2{    struct Number    {        double a;        bool b;//0数字 1字符     };    Number s3[100];    [TestClass]    public ref class UnitTest    {    private:        TestContext^ testContextInstance;    public:        /// <summary>        ///获取或设置测试上下文,该上下文提供        ///有关当前测试运行及其功能的信息。        ///</summary>        property Microsoft::VisualStudio::TestTools::UnitTesting::TestContext^ TestContext        {            Microsoft::VisualStudio::TestTools::UnitTesting::TestContext^ get()            {                return testContextInstance;            }            System::Void set(Microsoft::VisualStudio::TestTools::UnitTesting::TestContext^ value)            {                testContextInstance = value;            }        };#pragma region Additional test attributes        //        // 编写测试时,可以使用以下附加特性:         //        // 在运行类中的第一个测试之前使用 ClassInitialize 运行代码        //[ClassInitialize()]        //static void MyClassInitialize(TestContext^ testContext) {};        //        // 在类中的所有测试都已运行之后使用 ClassCleanup 运行代码        //[ClassCleanup()]        //static void MyClassCleanup() {};        //        //在运行每个测试之前,使用 TestInitialize 来运行代码        //[TestInitialize()]        //void MyTestInitialize() {};        //        //在每个测试运行完之后,使用 TestCleanup 来运行代码        //[TestCleanup()]        //void MyTestCleanup() {};        //#pragma endregion         double qiuzhi()        {            //stack<Number>s3;            //stack<double>s4;            int tou1 = 2;            double s4[100];            int tou2 = 0;            //while (!s3.empty())            while (tou1 != -1)            {                //Number c1 = s3.top();                Number c1 = s3[tou1--];                //s3.pop();                if (c1.b == 0)                    s4[tou2++] = c1.a;                //s4.push(c1.a);                else                {                    //double c2 = s4.top();                    double c2 = s4[--tou2];                    //s4.pop();                    //double c3 = s4.top();                    ///s4.pop();                    double c3 = s4[--tou2];                    double c4;                    switch ((int)c1.a)                    {                    case +:c4 = c3 + c2; break;                    case -:c4 = c3 - c2; break;                    case *:c4 = c3*c2; break;                    case /:c4 = c3 / c2; break;                    }                    s4[tou2] = c4;                }            }            return s4[tou2];        }                            [TestMethod]        void TestMethod1()        {            //            // TODO:  在此处添加测试逻辑            //            s3[0].a = 43;            s3[0].b = 1;            s3[1].a = 1;            s3[1].b = 0;            s3[2].a = 2;            s3[2].b = 0;            double s = qiuzhi();            Assert::AreEqual(s, 3.0);        };    };}

结果为:

技术分享

git@git.coding.net:ziyoujay/sizeyunsuanceshi.git

https://git.coding.net/ziyoujay/sizeyunsuanceshi.git

 

单元测试psp:

C(类别)C(内容)S(开始时间)ST(结束时间)I(耽误时间)△(实际时间)
分析查资料8:009:00060
编码代码实现9:30  12:30 30150
调试调试程序并实现14:0015:002040
文档撰写说明书15:3016:00030

四则运算测试