C# 调用任务C时的StoryQ()#

C# 调用任务C时的StoryQ()#,c#,unit-testing,bdd,storyq,C#,Unit Testing,Bdd,Storyq,我想使用storyQ将这个单元测试转换成BDD 工作单元测试 [Test] public async void CreateNewProjectAndDatabase() { StartParametersAndAteEngineDlls(); await TheNewDatabaseAndProjectIsCreated(); TheDataBaseViewModelIsCre

我想使用storyQ将这个单元测试转换成BDD 工作单元测试

       [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()
}