C# 调用任务C时的StoryQ()#
我想使用storyQ将这个单元测试转换成BDD 工作单元测试C# 调用任务C时的StoryQ()#,c#,unit-testing,bdd,storyq,C#,Unit Testing,Bdd,Storyq,我想使用storyQ将这个单元测试转换成BDD 工作单元测试 [Test] public async void CreateNewProjectAndDatabase() { StartParametersAndAteEngineDlls(); await TheNewDatabaseAndProjectIsCreated(); TheDataBaseViewModelIsCre
[Test]
public async void CreateNewProjectAndDatabase()
{
StartParametersAndAteEngineDlls();
await TheNewDatabaseAndProjectIsCreated();
TheDataBaseViewModelIsCreated();
TheMainViewModelIsCreated();
}
private async Task TheNewDatabaseAndProjectIsCreated()
{
....
}
转换为BDD
[Test]
public async Task CreateNewProjectAndDatabase()
{
_story.WithScenario("Create a new bla bla")
.Given(StartParametersAndAteEngineDlls)
.When(async ()=> await TheNewDatabaseAndProjectIsCreated())
.Then(TheDataBaseViewModelIsCreated)
.And(TheMainViewModelIsCreated)
.Execute();
}
代码正在编译,但是我得到一个ArgumentException
如果在方法名称中使用2个下划线,请确保有2个参数(找到0)我知道我有点晚了。我也有同样的问题,我修改了执行When方法的方式来修复它。我在When方法中使用了旧的school函数“Wait”,而不是使用Wait和任务。这样我们就可以有一个StoryQ可以理解的私有void函数 像这样的
private void MyWhenMethod()
{
_sut.AsyncMethodRun().Wait()
}