1

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

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

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

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

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

4

1 回答 1

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");
        }
    }
}

右键单击测试项目的引用,转到“项目”选项卡并选择主项目。引用后,您将能够在测试代码中使用主项目中的类(等)。

于 2012-10-26T00:15:20.077 回答