问题标签 [assertions]

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 投票
4 回答
819 浏览

java - java assert 给出了奇怪的结果

下面的java代码应该做什么?

这应该引发断言错误吗?如果不是,为什么不呢?(我没有收到任何错误!)

0 投票
3 回答
2157 浏览

unit-testing - 是否应该覆盖等于在单元测试中断言对象相等的方法?

假设我们通过断言结果对象的所有属性与预期结果对象的属性相等来测试方法的结果。我们是否应该实现 equals 方法并使用 Assert.AreEqual(expectedResult, actualResult)... 但是 equals 在生产代码中可能意味着不同的东西。

哪个是最佳实践?

  • 通过重写的 equals 方法断言对象的相等性

或者

  • 断言所有属性的相等性
0 投票
16 回答
2952 浏览

java - 你使用断言吗?

这不是一个真正的“问题”,所以我将其设为 CW。

关键字很棒!

它应该让你对自己编写的代码更有信心,但是,直到今天我创建一个小型测试类(< 20 行)时,我才意识到自从它被引入以来就再也没有使用过它。

见鬼!我几乎不使用确实非常有用的记录器,但直到今天我才意识到我不使用断言。

你使用断言吗?如果不是,原因是什么?

0 投票
2 回答
2451 浏览

java - .Net 相当于 Java 的 AssertionError

在 Java 中,我偶尔会AssertionError直接抛出一个,以断言不会到达特定的行。这方面的一个例子是断言语句中的defaultcaseswitch无法到达(请参阅此 JavaSpecialists 页面以获取示例)。

我想在.Net 中使用类似的机制。是否有我可以使用的等效异常?或者有没有其他方法可以达到同样的效果?

编辑- 澄清一下,我正在寻找一种机制来在运行时在已发布的代码中标记故障,以表明代码中的某些不变量发生了(可能是灾难性的)故障。链接示例生成一个介于 0 和 2(含)之间的随机整数,并断言生成的数字始终为 0、1 或 2。如果此断言不成立,最好完全停止执行,而不是继续执行一些未知数系统的损坏状态。

0 投票
1 回答
215 浏览

objective-c - RegexKitLite 断言失败间歇性发生

我正在使用基于 Mac OS X 和 iPhone OS 附带的 ICU 库构建的精彩 RegexKitLite 框架。到目前为止,它一直一帆风顺,除了在搜索匹配项时间歇性出现的这个错误:

知道可能是什么原因造成的吗?

0 投票
2 回答
135 浏览

bash - 测试编译代码以返回预期输出/错误的最佳方法

您如何测试编译后的代码是否返回预期的输出或按预期失败?

我在下面制定了一个工作示例,但它不容易扩展。每个额外的测试都需要额外的嵌套括号。当然我可以把它拆分成其他文件,但是你对如何改进这个有什么建议吗?另外我打算在makefile中使用make test节中的这个,所以我不希望其他人安装默认情况下没有安装的东西,只是为了测试它。并且标准输出也应该与标准错误保持交错。

简化示例:

我当前的测试仪看起来像这样(对于一个测试):

0 投票
5 回答
11127 浏览

unit-testing - 单元测试:在设置方法中有断言是一种好习惯吗?

在单元测试中,setup 方法用于创建测试所需的对象。

在这些设置方法中,我喜欢使用断言:我知道我想在这些对象中看到什么值,并且我喜欢通过断言记录这些知识。

在最近一篇关于单元测试在 stackoverflow 上调用其他单元测试的帖子中,总体感觉似乎是单元测试不应该调用其他测试:这个问题的答案似乎是你应该重构你的设置,以便测试用例不互相依赖。

但是“setup-with-asserts”和调用其他单元测试的单元测试没有太大区别。

因此我的问题是:在设置方法中有断言是一种好习惯吗?

编辑:

答案是:这通常不是一个好习惯。如果设置结果需要测试,建议单独添加一个带有断言的测试方法(答案我勾选了);要记录意图,请考虑使用 Java 断言。

0 投票
2 回答
1548 浏览

c++ - GNU 的 nana 库死了吗?是否有继任者在使用?

http://savannah.gnu.org/projects/nana/好像最后的工作是在四年前的nana上做的,nana的gnu.org官方主页是占位符。鉴于不活跃的项目往往会遭受比特腐烂:

  1. 项目死了吗?
  2. 有继任者吗?
  3. 人们有不同的 C/C++ 断言/日志库吗?
0 投票
4 回答
1644 浏览

.net - Assertion.AssertEquals 的“升级路径”是什么?

我继承了一些单元测试代码,它给了我一个弃用警告,因为它使用“Assertion.AssertEquals”:

警告 CS0618:“NUnit.Framework.Assertion”已过时:“改用 Assert 类”

但是,我在 Assert 类中看不到我应该使用的明显方法?

AssertEquals 接受两个对象和一个消息,如果出现故障,可以使用该消息报告错误。例如

Assert 类的等效方法是什么?

0 投票
3 回答
272 浏览

c++ - 断言检查的便捷策略

有些断言成本很高,有些则最好在生产代码中关闭。至少还不清楚断言是否应该始终启用。

在我的应用程序中,我希望能够在每个文件或每个类的基础上打开/关闭部分断言。

如何在 C++ 中做到这一点?