小编jds*_*lam的帖子

指定的对象不会被识别为伪对象.问题

我遇到一个问题,即在一个非常简单的测试中FakeItEasy调用失败并出现错误"指定的对象未被识别为伪对象".电话很简单:

A.CallTo(myService.MyMethod(listOfStringsFilter)).MustHaveHappened();
Run Code Online (Sandbox Code Playgroud)

假的同样简单(A.Fake()),并用一个方法伪造一个interofance,它接受一个列表并返回一个列表.在调试模式下,我看到myService的实例是{Fake IMyInterface}类型.无论如何,这个问题真的让我感动,感谢您的帮助.

更新:

这是我自己的错误,我需要打电话说:

A.CallTo(() => myService.MyMethod(listOfStringsFilter)).MustHaveHappened(); 
Run Code Online (Sandbox Code Playgroud)

tdd nunit fakeiteasy c#-4.0

15
推荐指数
1
解决办法
2813
查看次数

从Android连接到Azure DocumentDB

有没有人经历过从android连接到Azure的documentdb?我尝试过使用新的Java SDK,但由于核心android SDK中存在一些旧的必需Apache依赖冲突,因此它似乎在android中不受支持.我正在尝试Rest API方法,但它很慢.

在此先感谢您的帮助!

android azure azure-cosmosdb

4
推荐指数
1
解决办法
1300
查看次数

AutoMapper数据填充

是否可以使用AutoMapper来填充另一个对象的详细信息?例如(假设先前的配置):

var foo = new Foo { PropA = "", PropB = "Foo" };
var bar = new Bar { PropA = "Bar", PropB = "" };

Mapper.Map<Foo, Bar>(foo, bar);

Console.WriteLine(bar.PropB); //Returns "Foo"
Run Code Online (Sandbox Code Playgroud)

只是想知道是否有人尝试过这种奇怪的映射用法,这更像是将一个对象的匹配数据合并到另一个对象中.

提前致谢!

更新:

对于这种情况,看起来ValueInjector也更合适.在StackOverflow上已经对AutoMapper与ValueInjecter的适当用法进行了一些很好的讨论.

c# mapping automapper valueinjecter

3
推荐指数
1
解决办法
848
查看次数

伪造与FakeItEasy的nHibernate会话

我想使用FakeItEasy将虚假的nHibernate会话注入我的存储库,然后返回我的测试中预定义的对象列表.有没有人有这方面的经验?

以下是示例测试:

[TestFixture]
public class ProductionRepositoryTester
{
 private ProductionRepository _productionRepository;

[SetUp]
public void SetupFixture()
{
    const string propertyNumber = "123";
    Tank tank = new Tank { PropertyNumber = propertyNumber };

    var session = A.Fake<ISession>();
    var sessionFactory = A.Fake<ISessionFactory>();

    A.CallTo(session).WithReturnType<IList<Tank>>().Returns(new List<Tank> { tank });

    _productionRepository = new ProductionRepository(session, sessionFactory);
}

[Test]
public void ProductionRepositoryCanGetTanks()
{
    var tanks = _productionRepository.GetTanks();

    Assert.AreNotEqual(0, tanks.Count(), "Tanks should have been returned.");

}
}
Run Code Online (Sandbox Code Playgroud)

这是实际ProductionRepository类中的调用:

public IEnumerable<Tank> GetTanks()
{
    var tanks = Session.CreateCriteria(typeof(Tank)).List<Tank>();
    return tanks;
}
Run Code Online (Sandbox Code Playgroud)

提前感谢任何建议!

nhibernate tdd unit-testing fakeiteasy

2
推荐指数
1
解决办法
837
查看次数