【发布时间】:2014-06-27 15:59:08
【问题描述】:
为了了解更多关于单元测试和模拟的信息,我创建了以下简单的界面,我想在单元测试中模拟和测试:
namespace TestProjekt
{
public interface ICsvFile
{
string FileName { get; }
int GetFileSize();
}
}
以及使用 NUnit 和 Moq 的测试
namespace NUnitTests
{
using Moq;
using NUnit.Framework;
using TestProjekt;
[TestFixture]
public class UnitTests1
{
private const string FILENAME = "0030001744_14224429_valuereport_20140527000012_1104.csv";
private const int FILESIZE = 155;
[Test]
public void ExampleTest()
{
var file = new Mock<ICsvFile>();
file.Setup(m => m.GetFileSize()).Returns(FILESIZE);
file.SetupGet(m => m.FileName).Returns(FILENAME);
Assert.AreEqual(FILENAME, file.FileName);
Assert.AreEqual(FILESIZE, file.GetFileSize);
}
}
}
我是根据Tutorial i found online and quite interesting 制作的。问题是,Visual Studio 无法解决模拟对象上的方法和属性或我 setup 的任何其他内容。
所有 dll 都被正确引用。这一定是一件超级简单的事情,但我就是想不通。提前致谢!
【问题讨论】:
-
您的系统在测试什么?当您对依赖于模拟实体的类/模块进行单元测试(因此,孤立地)时,您通常希望使用模拟对象。
标签: c# unit-testing nunit moq