带 Bunit 的条件模拟数据Moq

问题描述

我有一个像这样的起订量的条件模拟数据,它根据参数是否为空返回不同的数据。

 locationMock
    .Setup(x => x.GetAllLocations(It.IsAny<SearchRequest>()))
    .Returns((SearchRequest req) =>
        {
            return req.SearchText == null
                ? thread
                : filteredThread;
        });

我像这样注册服务Services.AddSingleton(locationMock.Object);

然后我有一个输入框,我在其中输入“TEST LOCATION”并单击搜索图标,该图标应该过滤数据,也就是返回“filteredThread”。当我调试它时,我可以看到它达到了不同的条件。但是,返回的数据始终是“线程”,其中不包含过滤后的数据,而是原始数据。

我想知道我做错了什么,或者我是否可以做些什么来实现 bunit 中显示的数据的有条件返回。

var cut = RenderComponent<LocationList>();
var instance = cut.Instance;
instance.use = UseMode.None;
instance.Locations = locationData;

cut.Render();

cut.Find(".prompt.input-Box").Input("TEST LOCATION");            
cut.Find(".search-icon").Click();

cut.Render();
var bob = cut.FindAll("table > tbody > tr");
cut.WaitForState(() => cut.FindAll("table > tbody > tr").Count == 1,TimeSpan.FromSeconds(15));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...