问题标签 [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.
python - Python - 为什么使用 assert(required_param)?
我今天在查看 API 库时发现了这一点。
这样做会不会更容易:
或者,我错过了什么?
当然,这assert()
会为您提供一个可能出现的统一异常,但除非您希望此函数在这种情况下静默失败以执行某些操作,否则您是否宁愿让它大声中断以便尽早发现此类错误?我从来不明白为什么人们在生产代码中使用断言。也许,我会在我得到一些答案后。
cocoa - 如何让 NSAssert 使应用程序崩溃或至少显示错误对话框?
我在我的代码中使用了相当多的断言,因为它们在调试中很有用,但是 Cocoa 应用程序的标准行为是中断处理并将断言失败记录到控制台.. UI 既不会崩溃,也不会弹出错误对话框发生了什么通常并不明显。
使程序崩溃(至少您会得到跟踪)或弹出错误对话框的最简单方法是什么?
我是否需要提供一个断言处理程序(看起来很复杂!)?或者我可以在运行循环中捕获异常吗?
是否有任何示例代码可用于说明如何最好地做到这一点?
谢谢你的帮助。
java - Java/ JUnit - AssertTrue 与 AssertFalse
我对 Java 很陌生,并且正在关注Eclipse Total Beginner's Tutorials。它们都非常有帮助,但在第 12 课中,他assertTrue
用于一个测试用例和assertFalse
另一个测试用例。这是代码:
我已经搜索了有关这些方法的良好文档,但没有找到任何东西。如果我的理解是正确的,assertTrue
以及assertFalse
当第二个参数评估为假时显示字符串。如果是这样,同时拥有它们有什么意义?
编辑:我想我明白了什么让我感到困惑。作者可能将它们都放入只是为了展示它们的功能(毕竟这是一个教程)。他设置了一个会失败的设备,以便打印出消息并告诉我为什么会失败。开始变得更有意义......我认为这就是解释,但我不确定。
c++ - 未安装 CRT 时,您是否在 C++ 下获得调试断言?
当您在未安装 VS 或 CRT 的操作系统上运行 C++ 程序的调试版本时,您还会收到调试断言错误框吗?
那些说“调试断言失败!”的人。
还是只有在机器安装了某些组件(例如 CRT 或 Visual Studio)时才能获得它们?
hardware - 将 VHDL 监视器转换为 PSL 断言
我有一个关于 PSL 断言的有趣问题。这是一个VHDL监控程序。这是一个专用于断言的过程,因此是一个不可综合的过程。此监视器检查当前 FSM 状态并存储两个寄存器的值:“ input1
”和“ reg136
”。最后,它触发一个“ assert
”语句来比较这些寄存器的值。
问题是:有没有办法将此监视器转换为 PSL(属性规范语言)断言?
重要提示:寄存器“input1”和“reg136”只能在 fsm 状态分别处于状态 s0 和 s22 时读取。否则,这些寄存器中包含的数据不属于断言变量“a”和“t34”。因此,PSL 语句需要一种方法来读取和存储正确 fsm 状态的值。
谢谢 !
regex - Ruby 1.9 正则表达式 Lookbehind Assertion & Anchors
Ruby 1.9 正则表达式支持后向断言,但在模式中传递锚点时我似乎遇到了困难。当在前瞻断言中传递锚点时,它运行得很好。
有谁知道如何使锚点在后向断言中像在前瞻中一样工作?
向后看是否需要特殊的转义序列或分组?
我已经在 1.9.1-p243、p376 和 1.9.2-preview3 中测试了这种行为,以防它被修补。
c# - 执行 Assert.AreMatch() 以深入比较两个对象中的属性
我正在针对我们的缓存机制编写测试,我想确保进入缓存的内容与出来的内容相同,即所有属性都匹配。这是我希望它如何工作的虚构示例
对每个属性执行 Assert.AreEqual 是不可行的,因为其中会有很多这样的测试,每个测试都有很多属性。
哇,谢谢乔恩。我想你在一分钟内回答了这个问题。这是我为任何感兴趣的各方提供的解决方案。我按照 Jon 的建议(我认为)实现了,但是我在数组属性方面遇到了一些麻烦,因此我的解决方案只处理整数数组(我目前需要的所有)。
如果我尝试检查不止一个级别,它也必须是一个相当滑的斜坡。我确信这可以实现,但出于我的目的,这不是必需的。
上述方法可用于以下情况
c++ - 如何通过 Google 测试捕捉断言?
我正在使用 Google 测试框架编写一些单元测试。但我想检查一些断言是否放置得当并且有用。有没有办法在 Google 测试中捕获断言?
正在测试的示例代码:
然后是测试:
但EXPECT_ANY_THROW
没有捕捉到断言,而只有例外。我正在寻找捕获断言的解决方案。
python - 如何更改 Python AssertionError 中的消息?
我正在按照以下内容编写,在比较两个多行 Unicode 文本块时,我尝试生成一个体面的错误消息。进行比较的内部方法提出了一个断言,但默认解释对我来说没用
我需要在代码中添加一些内容,如下所示:
我无法弄清楚如何在我捕获的 assertionerror 中更改打印的错误消息。我总是得到AssertionError: u'something' != 'something else'
,它只显示输出的第一行。
如何更改断言消息以打印出我想要的任何内容?
如果它是相关的,我正在使用它nose
来运行测试。
c# - 这两个单元测试断言有什么区别?
遇到以下 MS 单元测试:
在进行断言时,我从未见过泛型的使用。
这就是我写断言的方式:
有什么不同?
当我将鼠标悬停在AreNotEqual()
我正在使用的重载上时,该方法正在使用比较两个双精度的重载(不确定为什么没有 int、int 重载)。
如果我确实输入了 in的通用类型参数<int>
,ReSharper 说它是多余的。
所以我的问题是:如果我这样做的方式仍然是类型安全的,为什么要使用泛型断言?