StoryQ When() 调用任务 C#
StoryQ When() calling task C#
我想使用 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 方法的方式。我没有使用 await 并使用 Task,而是在 When 方法中使用了 oldSchool 函数 "Wait"。这样我们就可以拥有 StoryQ 理解的私有 void 函数。
像这样。
private void MyWhenMethod()
{
_sut.AsyncMethodRun().Wait()
}
我想使用 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 方法的方式。我没有使用 await 并使用 Task,而是在 When 方法中使用了 oldSchool 函数 "Wait"。这样我们就可以拥有 StoryQ 理解的私有 void 函数。
像这样。
private void MyWhenMethod()
{
_sut.AsyncMethodRun().Wait()
}