Chr*_*ris 14 c# wcf rhino-mocks
模拟对WCF服务的调用时,我收到以下错误:
方法'ICustomerEntities.GetCustomerFromPhoneNumber("01234123123");' 需要返回值或抛出异常.
我用Google搜索并在这里搜索 - 我能找到的是我需要重新排序各种电话等,但这在我的情况下似乎没有意义吗?也许有人可以向我指出它确实存在吗?
我的测试设置看起来像这样
_entities = MockRepository.GenerateStrictMock<ICustomerEntities>();
Run Code Online (Sandbox Code Playgroud)
并且测试方法在第三行上失败,设置 result2
_entities.Expect(ip => ip.GetCustomerFromPhoneNumber("01234123123"));
var test = MockRepository.GenerateMock<ICustomerEntities>(_factory);
var result2 = _entities.GetCustomerFromPhoneNumber("01234123123");
var result = test.GetAllCustomersWithAGivenPhoneNumber("01234123123");
Assert.AreEqual(result,result2);
Run Code Online (Sandbox Code Playgroud)
原始调用试图模拟这个(在一个名为的方法中GetAllCustomersWithAGivenPhoneNumber):
using (var entities = _factory.CreateEntities())
{
var customer = entities.GetCustomerFromPhoneNumber(telephoneNumber);
}
Run Code Online (Sandbox Code Playgroud)
Gaz*_*yer 14
记住一个模拟对象只是一个模拟.根本没有实现,所以如果mock需要从函数返回一个值,除非你告诉它,否则它无法知道返回什么.
我假设你的GetCustomerFromPhoneNumber()返回一个Customer对象或id,所以你需要告诉Rhino要返回什么:
我从来没有使用过Rhino,但希望即使语法不正确,这也会指向正确的方向.
var test = MockRepository.GenerateMock<ICustomerEntities>(_factory);
test.Stub(ent => ent.GetCustomerFromPhoneNumber("01234123123")).Return(new Customer());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7619 次 |
| 最近记录: |