问题标签 [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.
bdd - 预期异常的 StoryQ 场景
我们如何使用 StoryQ 来测试预期会出现异常的场景?
c# - 拥有特定的用户故事场景是邪恶的吗?
所以我知道,当涉及到用户故事场景时,具体化是一件好事。然而,我经常会问自己:我的场景应该有多具体?
例如,对于用户故事:
为了让项目成员在项目上进行协作,作为项目经理,我希望能够注册新项目
我们可以有以下场景:
给定一个项目从未在系统中注册过,当项目经理注册该项目时,注册的项目应该出现在指定成员的项目列表中
或者我们可以更具体一些,比如:
鉴于Scott是项目经理,并且stackoverflow 集成项目从未在系统中注册,当Scott注册stackoverflow 集成项目时指定Jane为项目成员,则stackoverflow 集成项目应该出现在Jane的项目列表中
在编写 BDD 规范时,我发现第二个“更具体”的规范非常方便。有类似 scottTheProjectManager 而不是 projectManagerStub 的地方是:
- 更符合现实世界(我们没有作为项目经理工作的存根……还是我们?)
- 在该规范上下文中需要时更容易参考(否则,我会一直说“那个项目经理”或“注册项目的项目经理”......等等。
我的结论正确吗?当故事发生变化时,这种特殊性会伤害我吗?
非常感谢!
更新
上面的问题不仅是关于使用人名而不是角色名,而是关于用真实实例的名称替换场景中的所有占位符。通过真实的例子,我并不是说我们实际上有一个叫 Scott 的人担任项目经理,它只是给抽象占位符命名以实现上述好处。
我将尝试通过包含以下代码来展示这些好处是如何实现的,这些代码表示使用 StoryQ 框架的完整 BDD 样式规范
c# - 使用 StoryQ 修改或配置输出
我在StoryQ 讨论板上发布了这个问题,但是通过查看对其他问题的(缺乏)回应,那里的活动充其量似乎很少。我想我会让这里的每个人都试一试。
有没有办法修改或配置输出(输出窗口和文件)以包含自定义字符串?例如,我的一个故事要求抛出一个特定的异常。为此,我捕获异常并将其保存,然后在单独的方法中测试它是否为非 null 且属于所需类型。我希望能够将异常的类型附加到输出(很像参数被附加到方法调用)。
例如
将导致以下输出
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 的代码并进行更改?
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)
c# - StoryQ When() 调用任务 C#
我想使用storyQ工作单元测试将此单元测试转换为BDD
转换为 BDD
代码是代码正在编译但是我得到一个 ArgumentException 如果您在方法名称中使用 2 个下划线,请确保有 2 个参数(找到 0)
c# - StoryQ BDD,Given or When without a body
我想为我班级的构造函数做一个非常简单的测试,
这可以在 Given 或 When it 中...我认为它应该在 When() 中,但这并不重要。
When()
由于构造函数是被测试的,我在语句中没有任何事情要做,
在Then()
我断言插件创建时。
我的问题是关于 StoryQ,因为我不想在我尝试使用的 When() 中做任何事情,When(()=>{})
但是 storyQ 不支持,这意味着我需要实现类似的东西
并打电话When(Nothing)
有更好的做法吗?
c# - storyQ 将参数传递给函数
这是我的测试,我想将一个变量传递给函数 ImageSelectionDatabaseIsValidAllTotalGainsAssigned 我希望它为 8 和 7 检查断言一次。
但是您不能将参数传递给函数并调用 .Then()
你能解释一下如何做到这一点吗?