问题标签 [arrange-act-assert]

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 回答
261 浏览

c# - 断言在方法调用之前已经分配了值

我正在使用 AAA 模式和 Rhino 模拟进行单元测试。在调用 DbContext 上的 SaveChanges() 之前,我想断言已在实体上设置了特定值(电子邮件)。我有一个看起来像这样的测试方法:

但我意识到“WhenCalled”方法没有执行,因为我也试过这个:

我也尝试过这种语法:

上面的两个断言都通过了,这很明显我没有WhenCalled正确使用。Context是我的 DBSet 的一个模拟对象。我暂时将安排和法案放在了问题之外,因为他们似乎做了他们应该做的事情。是断言不起作用。

如何在调用方法之前验证是否在实体上设置了属性?换句话说,我如何断言某件事是按特定顺序发生的?

  1. 设置属性。
  2. 保存更改。

编辑:

发生“错误”是因为 Assert 是在 Act 之后完成的,这是正确的。不可能WhenCalled在 Assert 中使用,因为 Act 已经发生。在这种特殊情况下,永远不会调用 WhenCalled,因为委托是在SaveChanges调用之后创建的,因此在调用时不存在。

另一种方法是Expect在 Arrange 中使用:

但是你在安排中有一个断言,我认为这违背了 AAA 模式的最佳实践。有更好的解决方案的想法吗?

0 投票
5 回答
2003 浏览

python - 在setUp方法中报告Python单元测试错误的正确方法是什么?

我已经阅读了一些关于在 Python 单元测试方法中使用的相互矛盾的assert建议setUp。如果测试依赖的先决条件失败,我看不出测试失败的危害。

例如:

这对我来说似乎是一件合理的事情,即确保测试能够运行。当由于设置条件而失败时,我们得到:

0 投票
1 回答
722 浏览

c# - 在单元测试 C# 中使用 setup 是正确的

我解释得更好,我正在研究如何在 C# 中使用 NUnit 和 justmock 进行单元测试。我正在阅读单元测试的艺术这本书,在这里我被告知,尽可能避免 [SetUp] 为以前的场景配置一试。但是在博客上搜索我,如果在 [SetUp] 中使用这些设置很好,我真的很困惑,我知道如果场景非常大,我的测试方法的安排会增长,我必须 rafactorizar,Entence最好的详细问题是,当使用 [SetUp] 时,或者当要测试的场景非常大并且 Arrange 代码受此影响时是否存在某种类型的模式,helpmee ???

例如:

在这里,我的安排非常广泛,我不想将其删除为私有方法或将其传递给 [SetUp] 没有模式可以以另一种方式解决此问题

0 投票
2 回答
110 浏览

python - Python DataFrame:重新排列对象和空值

我有一个具有 20000+ 值的 Python DataFrame,如下所示。而且我想用 NaN 有效地重新排列 df 跟随值的字符串。

所以每一行都不能有像 index = 2 这样的值,或者像 index = 3 这样的所有值。有没有办法有效地重新排列我的数据框 df?提前致谢

0 投票
0 回答
18 浏览

asp.net - 在 xunit 框架的排列阶段,数据应该在何时何地插入数据库?

在 xunit 框架的排列阶段,数据应该在何时何地插入数据库?

安排阶段是指从安排、行动、断言模式中的安排。

为了为每种测试方法准备数据,我使用了一个单独的类。例如:

如果您提出不同的建议(这将允许精心设计的排列阶段),我可以改变将数据提供给理论的方式。

0 投票
1 回答
23 浏览

rspec - DRY 测试的操作是否可行?

根据我对 AAA - 安排行为断言的理解,重要的是要明确什么代码用于安排、执行和断言。

在测试一个复杂的场景时,我习惯于在每次测试中多次执行相同的操作。排列发生变化,断言也发生变化。但是动作还是一样的。

最近我遇到了这段代码:

而且我不确定这是否是一个好习惯。例如,当我们添加上下文时,安排代码处于动作和断言的中间。

干这些动作是一个好习惯吗?

0 投票
2 回答
35 浏览

r - (在R中)如何根据B列排列A列

我有一个这样的数据框:

工厂 面包
一个 一个
一个 一个
C
b
d
C 一个
D e

我想找到面包数量最多的工厂的名字

我写了两个代码,得到了不同的答案。

1.

请问哪一个是正确的代码,为什么?

谢谢!!!!

0 投票
1 回答
22 浏览

r - 如何按r中特定分组变量级别的特定顺序排列数据行

我想知道如何按 r 中特定分组变量级别的特定顺序排列数据行。

使用mtcars数据集,我想创建一个数据框,称为mtcars_arrange其中行首先按gear以下顺序按值组织的位置:

然后,我希望数据集按特定carb值组织:

我知道您可以使用该dplyr::arrange()命令来完成类似的任务,但我不确定如何让它为我的目的工作。

任何帮助,将不胜感激。谢谢。



这是与此问题相关的一些废代码: