问题标签 [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 投票
1 回答
3687 浏览

iphone - NSAssert 在线程中的使用

我正在尝试在NSAssert整个 iPhone 应用程序中使用,以便如果发生意外情况,应用程序会快速失败并在崩溃日志中显示有意义的消息而崩溃。

如果失败发生NSAssert在主线程上,这可以正常工作,因为NSInternalInconsistencyException默认情况下它会引发未捕获并停止执行。但我也在后台线程中进行处理,在这种情况下NSAssert只是中止线程,但编程继续运行。

我目前的解决方案是在主线程中捕获并重新抛出异常(在本例中为NSOperation'smain方法):

有没有更好的办法?也许使用自定义的 NSAssertionHandler?

我知道我可以将 Cassert与静态注释一起使用:

但这不允许我展示实际失败的价值x是什么。

0 投票
3 回答
166 浏览

c - 复杂多线程代码中的安全网?

作为一个刚刚在一个项目中完成了数千行复杂的多线程“C”代码的开发人员,并且将来会被其他几个不熟悉该代码的开发人员增强、修改等,我想找出你们试图在这样的代码中放置什么样的安全网?例如,我可以这样做:

  1. 为锁保护结构成员定义访问器宏,它断言相应的锁已被持有。这清楚地表明,对于不熟悉此代码的任何人,这些成员都受到锁定保护。
  2. 应该在持有一些自旋锁的情况下调用的函数断言正在持有自旋锁。

您在编写的多线程代码中设置了什么样的安全网?
当其他开发人员修改此类代码时,您遇到过什么样的问题?
您在此类代码中添加了哪些调试辅助工具?

感谢您的意见。

0 投票
1 回答
1303 浏览

unit-testing - Log4Net 的断言附加器?

是否有一种“标准”方式来引入针对 Log4Net 输出的断言?

例如

或者

我可以为 Log4Net 编写一个断言附加程序,但我认为肯定已经有什么东西了?

0 投票
4 回答
3985 浏览

c# - 在 C# 中对同一结果进行多个断言的最佳实践

您认为对结果进行多个断言的最干净的方法是什么?过去我对它们进行了相同的测试,但这开始感觉有点脏,我只是在使用 setup 玩另一个想法。

0 投票
2 回答
6954 浏览

cuda - 在内核调用中使用断言

在设备模式下的内核调用中使用断言是否有方便的方法?

0 投票
4 回答
1778 浏览

c# - ExceptionAsserts & 在 VS 中调试你的 C# 项目

一段时间以来,我们一直在使用 NUnit 和 VisualStudio 编写 C# .NET 代码。测试异常的风格是

旧语法:

现在 NUnit 已经发布了 2.5.2 版本,它引入了Assert.Throws( Type expectedExceptionType, TestDelegate code );这使得异常测试更加灵活。我们的异常测试现在看起来像这样:

新语法:

我们的问题是,如果使用 Assert.Throws,当使用 NUnit(控制台或 GUI 运行程序)调试程序时,Visual Studio 会弹出一个窗口,显示未处理的异常。

为了澄清这一点:我们已将包含单元测试的 VS 项目设置为在调试时运行 nunit-x86.exe。(查看项目属性,调试选项卡,启动动作设置为运行nunit-x86.exe)

这会阻止 NUnit 继续测试。可以通过按 F5 继续调试/单元测试,但这不是一个可行的解决方案。

有没有办法避免这种情况?在 Assert.Throws 周围放置一个 try...catch 块没有任何作用,因为异常发生在委托代码中。

我希望有人可以对此有所了解。

0 投票
1 回答
1466 浏览

unit-testing - NUnit 和 Log4Net 集成:基于日志的断言

这是我关于堆栈溢出的第一个问题。我没有太多运气通过谷歌或 stackoverflow 找到答案。

我有兴趣让 nunit 测试检查 log4net 以查找日志中的特定条目,并根据该搜索的结果进行断言。

根据我阅读的一篇无关帖子:log4net,我想我可能可以使用 MemoryAppender 通过 GetEvents 方法执行此操作并仔细阅读返回的事件数组。

但我想知道:1.有人这样做吗?有什么陷阱或建议吗?任何替代方法?2. 有没有他们可以提供的食谱?

谢谢。

0 投票
6 回答
7630 浏览

eclipse - 在 Eclipse 中,当 Assert.assertEquals 失败时如何查看输入?

我不是 Eclipse 大师,所以请原谅我的笨拙。

在 Eclipse 中,当我调用 Assert.assertEquals(obj1,obj2) 并且失败时,如何让 IDE 显示 obj1 和 obj2?

我正在使用JExample,但我想这不应该有所作为。


编辑:这是我看到的:(来源:yfrog.com


0 投票
6 回答
125 浏览

c# - 我应该多余地测试参数(例如集合空虚)吗?

这里的冗余集合检查有问题吗?:

0 投票
8 回答
11215 浏览

python - python 的 `assert` 语句有哪些可接受的用例?

我经常使用 python 的 assert 语句来检查用户输入并在我们处于损坏状态时快速失败。我知道当 python 带有-o(优化的)标志时,断言会被删除。我个人不会在优化模式下运行我的任何应用程序,但感觉我应该远离断言以防万一。

写起来感觉干净多了

这是断言的有效用例吗?如果不是,pythonassert语句的有效用例是什么?