C# 关于单元测试的基本问题
我有一节这样的课-C# 关于单元测试的基本问题,c#,unit-testing,rhino-mocks,C#,Unit Testing,Rhino Mocks,我有一节这样的课- public class MyClass : ISomeInterface { public MyClass(string connString) { // set conn string on a private member } // interface methods public CreateDb(string dbName) {...} publi
public class MyClass : ISomeInterface
{
public MyClass(string connString)
{
// set conn string on a private member
}
// interface methods
public CreateDb(string dbName) {...}
public DropDb(string dbName) {...}
public string GetLastError() {...}
}
它是遗留代码的一部分,我必须编写单元测试。现在,如果我只想为这个类编写测试,我应该如何继续,以便以100%的测试覆盖率覆盖所有公共方法?
有人能提供一个小样本吗
编辑-CreateDb和DropDb捕获SqlException并设置错误消息。错误消息通过公共接口方法GetlastError()公开
注意:我正在使用RhinoMocks&MSTest类中有三种方法 您必须为三种方法编写单元测试 为了
公共MyClass(字符串构造)
{
}
应该至少有两个单元测试
1) 当解析为Null或空时,代码所做的操作。如果它为null或空,则必须捕获异常
2) 当连接字符串正确时,将显示的最后一条语句或确认是什么
关于Rhinomock的更多信息假设您的类创建了一些真实的DB,那么您有两个选项来测试这个类:
B将代码更改为具有接受DB接口(AkA)的c'tor或属性,并使用Rhinomock模拟DB接口李>
希望能有所帮助,也许您可以提供问题的更多细节,以便答案更详细:-)您需要提供有关CreateDb和DropDb方法内容的更多信息,特别是关于类的依赖关系。100%语句、分支或路径覆盖率?你永远无法衡量你的测试覆盖率,只能衡量你的执行覆盖率。仅仅因为代码是在测试期间执行的,并不意味着它被测试了createDb和DropDb捕获SqlException并设置错误消息。错误消息通过公共接口方法GetlastError()公开,createDb和DropDb捕获SqlException并设置错误消息。错误消息通过公共接口方法GetlastError()公开
public <Returntype> MyClass(string ConString)
{
}