问题标签 [storyq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
533 浏览

bdd - 预期异常的 StoryQ 场景

我们如何使用 StoryQ 来测试预期会出现异常的场景?

0 投票
5 回答
531 浏览

c# - 拥有特定的用户故事场景是邪恶的吗?

所以我知道,当涉及到用户故事场景时,具体化一件好事。然而,我经常会问自己:我的场景应该有多具体?

例如,对于用户故事:

为了让项目成员在项目上进行协作,作为项目经理,我希望能够注册新项目

我们可以有以下场景:

给定一个项目从未在系统中注册过,当项目经理注册该项目时,注册的项目应该出现在指定成员的项目列表中

或者我们可以更具体一些,比如:

鉴于Scott是项目经理,并且stackoverflow 集成项目从未在系统中注册,当Scott注册stackoverflow 集成项目时指定Jane为项目成员,则stackoverflow 集成项目应该出现在Jane的项目列表中

在编写 BDD 规范时,我发现第二个“更具体”的规范非常方便。有类似 scottTheProjectManager 而不是 projectManagerStub 的地方是:

  • 更符合现实世界(我们没有作为项目经理工作的存根……还是我们?)
  • 在该规范上下文中需要时更容易参考(否则,我会一直说“那个项目经理”或“注册项目的项目经理”......等等。

我的结论正确吗?当故事发生变化时,这种特殊性会伤害我吗?

非常感谢!


更新

上面的问题不仅是关于使用人名而不是角色名,而是关于用真实实例的名称替换场景中的所有占位符。通过真实的例子,我并不是说我们实际上有一个叫 Scott 的人担任项目经理,它只是给抽象占位符命名以实现上述好处。

我将尝试通过包含以下代码来展示这些好处是如何实现的,这些代码表示使用 StoryQ 框架的完整 BDD 样式规范

0 投票
2 回答
274 浏览

c# - 使用 StoryQ 修改或配置输出

我在StoryQ 讨论板上发布了这个问题,但是通过查看对其他问题的(缺乏)回应,那里的活动充其量似乎很少。我想我会让这里的每个人都试一试。

有没有办法修改或配置输出(输出窗口和文件)以包含自定义字符串?例如,我的一个故事要求抛出一个特定的异常。为此,我捕获异常并将其保存,然后在单独的方法中测试它是否为非 null 且属于所需类型。我希望能够将异常的类型附加到输出(很像参数被附加到方法调用)。

例如

将导致以下输出

0 投票
2 回答
440 浏览

c# - 从 IEnumerable 中提取字段值

我有一个包含 ResultView 的变量 results ,如下所示: 在此处输入图像描述

反过来 StoryQ.Execution.Result IEnumerable 将保存值:在此处输入图像描述

我需要提取像“故事就是故事”这样的文本表示。我怎样才能做到这一点。谁能帮我解决这个问题。谢谢

0 投票
1 回答
49 浏览

nunit-3.0 - 在引入 Nunit3.0 后解决 StoryQ 报告生成问题

首先让我说我在 StoryQ 论坛中尝试过,但那里没有太多活动,我觉得我不会在那里得到任何答案。

这就是问题,在引入 Nunit 3.0 之后,StoryQ报告生成被破坏

在介绍了 Nunit 3.0 之后,查找应用程序运行位置的方式发生了变化,过去是:
Directory.GetCurrentDirectory() 已经足够好了,但现在你不得不使用: NUnit.Framework.TestContext.CurrentContext.TestDirectory

使用GetCurrentDirectory的问题在于,现在使用 Nunit 3.0 可以为您提供C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW 之类的东西。

我怀疑 StoryQ 正在使用GetCurrentDirectory并收到UnauthorizedAccessException,因为它试图在上面提到的 windows 文件夹中创建一个文件夹。

有没有一种方法可以强制 StoryQ 使用正确的目录,而无需进入 StoryQ 的代码并进行更改?

0 投票
1 回答
103 浏览

c# - StoryQ BDD 调用任务 C#

我有一个测试,我想使用一个返回任务的函数

功能

我的测试

有没有办法使用 StoryQ,因为这些是我得到的错误:
错误 CS1502:'StoryQ.Scenario.Given(System.Action)' 的最佳重载方法匹配有一些无效参数
错误 CS1503:参数 1:无法从'转换void' 到 'System.Action'

更新: 我也试过

错误 CS4001:无法等待“方法组”
错误 CS1502:“StoryQ.Condition.When(System.Action)”的最佳重载方法匹配具有一些无效参数
错误 CS1503:参数 1:无法从“void”转换为“System.行动'

更新 2:

[测试]

它正在编译!但运行时错误 ArgumentException ->如果您在方法名称中使用 2 个下划线,请确保有 2 个参数(找到 0)

0 投票
1 回答
171 浏览

c# - StoryQ When() 调用任务 C#

我想使用storyQ工作单元测试将此单元测试转换为BDD

转换为 BDD

代码是代码正在编译但是我得到一个 ArgumentException 如果您在方法名称中使用 2 个下划线,请确保有 2 个参数(找到 0)

0 投票
1 回答
113 浏览

c# - StoryQ BDD,Given or When without a body

我想为我班级的构造函数做一个非常简单的测试,

这可以在 Given 或 When it 中...我认为它应该在 When() 中,但这并不重要。

When()由于构造函数是被测试的,我在语句中没有任何事情要做,

Then()我断言插件创建时。

我的问题是关于 StoryQ,因为我不想在我尝试使用的 When() 中做任何事情,When(()=>{})但是 storyQ 不支持,这意味着我需要实现类似的东西

并打电话When(Nothing)

有更好的做法吗?

0 投票
1 回答
29 浏览

c# - storyQ 将参数传递给函数

这是我的测试,我想将一个变量传递给函数 ImageSelectionDatabaseIsValidAllTotalGainsAssigned 我希望它为 8 和 7 检查断言一次。

但是您不能将参数传递给函数并调用 .Then()

你能解释一下如何做到这一点吗?