我必须为某些方法编写单元测试,并且我找到了一个返回的方法void:
public virtual void ReadCities(string filename)
{
var engine = new FileHelperEngine(typeof (GeoDbCity));
_geoDbCities = engine.ReadFile(filename) as GeoDbCity[];
}
Run Code Online (Sandbox Code Playgroud)
我的测试方法是:
[Test]
public void CheckIfCitiesWereRead()
{
var getGeoDbCitiesMock = new Moq.Mock<GeoDbReader>();
getGeoDbCitiesMock.Setup(y => y.ReadCities("ConstCities.csv"));
Assert.NotNull(getGeoDbCitiesMock.Object.ReadCities("ConstCities.csv"));
}
Run Code Online (Sandbox Code Playgroud)
当调用assert时,我收到一个错误:
参数类型'对象'不能赋予参数类型'void'.
我的问题是:
如何处理void类型方法以及如何测试它们?在这个特殊情况下如何测试ReadCities方法是否真的读了一些东西?