这是一个非常模糊(和初学者)的问题,但是......如何测试C#中的类库?我正在使用nUnit进行测试。
我要做的是测试与数据库的交互。输入将是序列化的XML对象,反序列化以针对代码进行测试,然后XML对象将被重新序列化并输出。
希望这能提供一些见解。我考虑创建一个测试应用程序来创建库的实例。是否有不同/更好/更有效的方法可以采取?
希望这能提供一些见解。我考虑创建一个测试应用程序来创建库的实例。是否有不同/更好/更有效的方法可以采取?
您需要创建一个单独的项目,使用NUnit的数据注释(TestFixture
,Test
等)。然后,您可以构建该项目并将创建的DLL加载到Nunit中。
至于测试,只需像平常一样编写它们(排列-操作-断言是更普遍的模式)
就像这样:
[Test]
public void MethodName_CallDatabase_ObjectDeserialized()
{
//Arrange
var db = new db();
//Act
var output = db.ExecuteCall();
//Assert
Assert.That(output, Is.EqualTo("123"));
}
YourApplication.Tests
,这就是我将要实现的方式。 - user5398447如果你真的想要严谨,这里有几个部分需要注意:
关于如何实现,通常您的解决方案将如下所示:
Solution (Your Application)
+ YourApplication.Library
+ YourApplication.WebApp
+ YourApplication.Tests
Tests项目是您可以添加到解决方案中的特定项目。在其中,您可以创建单元测试文件,这些文件将使用NUnit DLL进行标记,然后运行。这意味着将那些类标记为TestFixture
,将这些类中的特定方法标记为Test
方法,然后它们将执行您的YourApplication.Library
项目的部分,并支持Assert
调用以验证库调用的结果。
namespace APIWorkOut
{
[TestFixture]
public class TestClass
{
[Test]
public void getListOfUser()
{
API api = new API();
var listOFUsers = api.getUsers();
Console.Write(listOFUsers.Data.Count);
}
}
}