你如何在与项目相同的cs文件中编辑TestFixture?

时间:2012-10-26 00:02:57

标签: c# unit-testing nunit

在课堂上,他们教我们将测试夹具添加到与我们正在测试的项目相同的命名空间中。例如:

namespace Project
{
    class Decrypt : Cipher
    {
        public string Execute()
        {
            //Code here
        }
    }
    [TestFixture]
    {
        [Test]
        public void test1()
        {
            //Code here
        }
    }
}

我注意到在我的计算机上的c#菜单中,有一个“测试”部分(我无法让它在那里运行,我不知道如何)。在这台旧的32b电脑上没有。我已经安装了NUnit-2.6.2.msi但是当我尝试运行它时,它说“无法找到运行此应用程序的运行时版本” 所以我认为我有两个问题:

  • 安装Nunit(我已经从我的项目中单独引用了.dll)

  • 使用Nunit(即使在安装正确的计算机上)

1 个答案:

答案 0 :(得分:2)

通常,您将代码放在单独的项目中,但是参考您在测试项目中测试的项目

//project: Xarian.Security
//file: Decrypt.cs
namespace Xarian.Security
{
    class Decrypt : Cipher
    {
        public string Execute()
        {
            //Code here
        }
    }
}

//project: Xarian.Security.Test
//file: DecryptTest.cs

using System;
using NUnit.Framework;
//as we're already in the Xarian.Security namespace, no need 
//to reference it in code.  However the DLL needs to be referenced 
//(Solution Explorer, Xarian.Security.Test, References, right click, 
//Add Reference, Projects, Xarian.Security)

namespace Xarian.Security
{
    [TestFixture]
    class DecryptTest
    {
        [Test]
        public void test()
        {
            //Code here
            Cipher cipher = new Decrypt("&^%&^&*&*()%%&**&&^%$^&$%^*^%&*(");
            string result = cipher.Execute();
            Assert.AreEqual(string, "I'm Decrypted Successfully");
        }
    }
}

右键单击测试项目的引用,转到“项目”选项卡并选择主项目。一旦引用,您就可以在测试代码中使用主项目中的类(等)。