我正在尝试编写一套集成测试,其中我有使用 Umbraco API 的自定义代码。Umbraco 数据库位于 SQL Server CE 4.0 数据库(*.sdf 文件)中,我设法使该关联正常工作。
我的问题看起来是 Umbraco 代码中的依赖项。例如,我想为我的测试创建一个新用户,所以我尝试:
var user = User.MakeNew("developer", "developer", "mypassword", "my.email@email.com", adminUserType);
现在你可以看到,我已经传递了一个用户类型,它是一个对象。我尝试了两种不同的方法来创建用户类型,这两种方法都由于空对象异常而失败:
var adminUserType = UserType.GetUserType(1);
var adminUserType2 = new UserType(1);
问题在于,在每种情况下,UserType 代码都会调用Cache
使用HttpRuntime
该类的方法,该类自然为空。
我的问题是:有人可以建议一种针对 Umbraco 代码编写集成测试的方法吗?我最终是否必须使用诸如 TypeMock 或 JustMock 之类的模拟框架?