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

sql - 触发器、断言和检查之间有什么区别(在数据库中)

任何人都可以解释(或建议网站或论文)触发器、断言和检查之间的确切区别,还可以描述我应该在哪里使用它们吗?

编辑:我的意思是在数据库中,而不是在任何其他系统或编程语言中。

0 投票
3 回答
501 浏览

visual-studio - IIS 7 中不提示调试断言

自从移至 Windows 7 (IIS 7.5) 后,调试断言不再提示弹出对话框。

我已经在一个单独的项目中对此进行了测试,并注意到它们在使用集成的 Visual Studio 开发服务器 (Cassini) 时确实有效,但在使用 IIS Web 服务器时它们不起作用。

这对我们来说是一个大问题,因为我们依靠调试断言来识别潜在的编程错误,因此我们将不胜感激。谢谢。埃亚尔。

0 投票
1 回答
339 浏览

grails - Grails 单元测试:为什么这个语句会失败?

我过去使用 Java 进行开发,现在我正在尝试使用这个稍微过时的教程来学习 Grails/Groovy 。

DateTagLibTests.groovy
注意: 此 TagLibUnitTestCase 适用于 Grails 1.2.1,而不是教程中使用的版本)

由于某种原因,上述测试失败:

预期:<2010> 但原为:<2010>

我尝试用以下替代版本的测试替换上面的测试,并且测试通过就好了:

这两个版本的测试基本上是一回事吧?

除非 Grails 1.2.1 或 Groovy 中有我不理解的新内容。它们应该属于同一类型,因为这些值都是Calendar.getInstance().get(Calendar.YEAR)返回的值

0 投票
2 回答
602 浏览

java - Java的系统类有哪些?

在阅读一些关于断言的文档时,我发现:

“通常启用断言,但禁用系统类中的断言。”

系统类有哪些?

0 投票
2 回答
696 浏览

php - 如何正则表达式匹配一串数字和连字符,但不以连字符开头或结尾?

我有一些代码验证 1 到 32 个字符的字符串,它可能只包含字母数字和连字符 ('-'),但可能不以连字符开头或结尾。

我正在使用 PCRE 正则表达式和 PHP(尽管在这种情况下 PHP 部分并不重要)。

现在伪代码看起来像这样:

也就是说,我首先检查字符串的内容是否正确,不带有'-'并且长度正确,然后我正在运行另一个测试以查看它不以a结尾'-'。

关于将其合并为单个 PCRE 正则表达式的任何建议?

我试过使用前瞻/后瞻断言,但无法让它工作。

0 投票
2 回答
386 浏览

java - JUnit 4 断言中的“是”

写作之间有语义上的区别吗

和写作

? 如果不是,我更喜欢第一个版本,因为它读起来更好。这里还有其他考虑吗?

0 投票
1 回答
80883 浏览

c++ - “调试断言失败”是什么意思以及如何修复它,c++?

为什么这个程序在运行时给我一个“调试断言失败”错误消息

程序从文件 example.txt 中读取

这个想法是使用文本分隔符记录结构读取固定大小的字段结构

0 投票
19 回答
526139 浏览

java - Java assert 关键字有什么作用,什么时候应该使用它?

有哪些现实生活中的例子可以理解断言的关键作用?

0 投票
2 回答
1365 浏览

php - 在 php 中使用断言进行类型检查?

我在 php 中使用异常抛出函数对我的类中的参数进行了一些检查。我有执行基本检查(===in_array)并在错误时引发异常的函数。所以我可以做assertNumeric($argument, "\$argument is not numeric.");而不是

节省一些打字

我正在阅读关于 assert() 的php手册页的评论

正如 Wikipedia 上所述 - “断言主要是一种开发工具,当程序向公众发布时,它们通常会被禁用。” 和“断言应该用于记录逻辑上不可能的情况并发现编程错误——如果发生‘不可能’,那么根本上的事情显然是错误的。这与错误处理不同:大多数错误情况都是可能的,尽管有些可能极不可能在实践中发生。使用断言作为通用错误处理机制通常是不明智的:断言不允许从错误中优雅恢复,并且断言失败通常会突然停止程序的执行。断言也不会显示用户友好的错误信息。”

这意味着“gk at proliberty dot com”给出的建议强制启用断言,即使它们已被手动禁用,这违背了仅将它们用作开发工具的最佳实践

那么,我是不是“做错了”?还有什么其他/更好的方法?

0 投票
6 回答
33360 浏览

java - 断言与 JUnit 断言

今天我看到一个使用 java 断言而不是 JUnit 断言的 JUnit 测试用例——偏爱一个比另一个有明显的优点或缺点吗?