问题标签 [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.
java - 断言两个 java bean 是等价的
这个问题很接近,但仍然不是我想要的。我想以一种通用的方式断言两个 bean 对象是等价的。如果不是,我想要一个详细的错误消息来解释差异,而不是布尔“等于”或“不等于”。
c# - Trace.Assert 没有中断,也没有显示消息框
我有一个 WPF 应用程序,我在画布上移动数据。当我像个怪物一样尝试用鼠标移动数据时,问题就开始了。
以下是动作顺序:
- 画布上的 MouseMove 被触发
- 在 MouseMove 中,我更改了一些数据
- Trace.Assert 失败。调试器不会中断,消息框也不会中断
- 另一个 MouseMove 被触发
- 数据又变了
- 由于集合中的重入检查而引发异常。调试器在那里中断。断言消息框从未显示。
这里最大的问题是我可以回到断言,但不是断言失败时的数据,而是最后修改的数据......所以基本上我无法正确调试。
这是堆栈跟踪,从第一个 MouseMove 开始(注意 ShowMessageBoxAssert 以及它仍在继续的事实......):
问题是:为什么会发生这种情况,我应该怎么做才能让它在断言时中断?
我想过使用异常,也许是为了调试,但这确实是我需要的断言。我也在考虑我所有其他的断言,而不需要总是将它们转换为异常进行调试......
.net - 为什么 Assert.AreEqual(1.0, double.NaN, 1.0) 通过?
简短的问题,为什么会Assert.AreEqual(1.0, double.NaN, 1.0)
通过?而Assert.AreEqual(1.0, double.NaN)
失败。
它是 MSTest (Microsoft.VisualStudio.QualityTools.UnitTestFramework) 中的错误还是我在这里遗漏了什么?
最好的问候,埃吉尔。
更新:可能应该补充一点,我的问题背后的原因是,由于某些线性代数矩阵运算的结果是 NaN 或 (+/-)Infinity,我有一堆单元测试不幸通过了。单元测试很好,但是由于当实际或/和预期为 NaN 或 Infinity 时,带有增量的双精度数上的 Assert.AreEqual 将通过,所以我不得不相信我正在测试的代码是正确的。
flash - Flash 电影导出的所有类的列表
Flash 影片加载另一部包含各种断言的影片 - 其库中设置了“导出为动作脚本”设置的影片剪辑。
有没有办法从加载它们的电影中确定所有这些导出断言的类名列表?
.net - .NET 生产代码中的“断言”语句
在“稳定”且已移入测试和生产环境的代码中保留Trace.Assert
和声明是否明智?Debug.Assert
如果是这样,这些断言语句有什么帮助?让 Guard 类等检查异常条件并酌情引发异常还不够吗?
java - 如何对记录器中的消息执行 JUnit 断言
我有一些被测代码调用 Java 记录器来报告其状态。在 JUnit 测试代码中,我想验证是否在此记录器中创建了正确的日志条目。大致如下:
我想这可以用一个特别适应的记录器(或处理程序,或格式化程序)来完成,但我更愿意重新使用已经存在的解决方案。(老实说,我不清楚如何从记录器获取 logRecord,但假设这是可能的。)
python - 如何检查对象是列表还是元组(但不是字符串)?
这是我通常所做的,以确定输入是list
/ tuple
- 但不是str
. 因为很多时候我偶然发现了函数错误传递str
对象的错误,而目标函数确实for x in lst
假设它lst
实际上是 a list
or tuple
。
我的问题是:有没有更好的方法来实现这一目标?
c++ - 协助避免断言......总是!
在 C 和 C++assert
中是一个非常重量级的例程,写入错误stdout
并终止程序。在我们的应用程序中,我们实现了一个更健壮的 assert 替代品,并赋予它自己的宏。已尽一切努力assert
用我们的宏替换,但仍有许多方法assert
可以重新引入(例如,来自内部第三方库、幼稚注入等)
关于我们如何减少、限制甚至消除使用的任何建议assert
?最好的答案将是编译器可以为我们捕获的答案,这样我们就不必像目前那样照看代码库了。
c++ - Is assert evil?
The Go
language creators write:
Go doesn't provide assertions. They are undeniably convenient, but our experience has been that programmers use them as a crutch to avoid thinking about proper error handling and reporting. Proper error handling means that servers continue operation after non-fatal errors instead of crashing. Proper error reporting means that errors are direct and to the point, saving the programmer from interpreting a large crash trace. Precise errors are particularly important when the programmer seeing the errors is not familiar with the code.
What is your opinion about this?