我有一个测试,我想使用一个返回任务的函数
功能
public async Task FuncExceuted()
我的测试
[Test]
public void CreateNewProject()
{
_story.WithScenario("Create a new Project for Bayer sensor")
.Given(InitParameters())
.When(await FuncExceuted())
.Then(AssertFunction())
.Execute();
}
有没有办法使用 StoryQ,因为这些是我得到的错误:
错误 CS1502:'StoryQ.Scenario.Given(System.Action)' 的最佳重载方法匹配有一些无效参数
错误 CS1503:参数 1:无法从'转换void' 到 'System.Action'
更新: 我也试过
[Test]
public async void CreateNewProject()
{
_story.WithScenario("Create a new Project for Bayer sensor")
.Given(InitParameters)
.When(await FuncExceuted)
.Then(AssertFunction)
.Execute();
}
错误 CS4001:无法等待“方法组”
错误 CS1502:“StoryQ.Condition.When(System.Action)”的最佳重载方法匹配具有一些无效参数
错误 CS1503:参数 1:无法从“void”转换为“System.行动'
更新 2:
[测试]
public async Task CreateNewProject()
{
_story.WithScenario("Create a new Project for Bayer sensor")
.Given(InitParameters)
.When(async ()=> await FuncExceuted())
.Then(AssertFunction)
.Execute();
}
它正在编译!但运行时错误 ArgumentException ->如果您在方法名称中使用 2 个下划线,请确保有 2 个参数(找到 0)