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

c++ - 在 C++ 中使用带有指针的“断言”

我们什么时候需要对 C++ 中的指针使用“assert”,什么时候使用它们,它们最常见的实现方式是什么?

0 投票
5 回答
1198 浏览

c# - C#:不使用 3rd 方框架的单元测试?

单元测试应该在调试模式还是发布模式下运行?

我正在使用 Visual Studio Standard Edition 2005,它没有附带任何单元测试框架。由于我也不想使用任何其他 3rd 方单元测试框架,我曾经Debug.Assert在所有单元测试方法中执行实际测试。但是,Debug.Assert仅适用于调试模式。

在发布模式下是否有等价物或是否有任何其他替代方案(不使用第 3 方工具)?

0 投票
7 回答
1130 浏览

c++ - 断言是多余的吗?

在这段代码中, ASSERT 似乎是多余的。如果指针为 NULL,pointer->x 无论如何都会失败。我的论点正确吗?

0 投票
3 回答
311 浏览

c++ - 是否有任何工具可以在 C++ 中对断言进行编译时检查?

前几天我正在用 c++ 编写一个函数,我突然想到编译器可以做更多的事情来帮助我防止错误。我的代码的要点是这样的 -

它被称为这样

显然 p 在运行时可能为空,因此在调试构建中方法的断言失败。我的错。

然而,编译器似乎有可能在编译时发现了这一点并发出警告说它已经检测到它发现了可能违反断言的可能性。

好的,这是一个简单的例子,编译器很容易根据程序的一些流分析和跟踪每个点的可能变量范围来发现指针在该点可能为 NULL。

我知道确定是否会违反许多断言可能太困难了,但即使编译器能够告诉我我已经编写了可能违反断言的代码,它也会帮助我程序更安全。

我认为它也有助于解决数组索引中的一个错误之类的问题,例如在循环中:-

我认为在许多情况下,编译器可以在编译时证明索引变量可能超出这些范围并在编译时发出警告。

我意识到这对于编译器来说可能是太多的工作,但也许有一些工具可以执行这种分析?我无法用谷歌找到任何东西,但我想知道这种东西是否存在?或者,做得好到可能有用是不是太难了?

0 投票
3 回答
13091 浏览

java - Hamcrest 平等收藏

Hamcrest 中是否有匹配器来比较集合是否相等?有containscontainsInAnyOrder但我不需要equals绑定到具体的集合类型。例如,我无法将 Arrays.asList 和 Map.values 与 Hamcrest 进行比较equals

提前致谢!

0 投票
5 回答
10149 浏览

php - 带小数的 PHP 和单元测试断言

我有一个方法可以返回像 1.234567890 这样的浮点数。我想测试它是否确实如此。但是,这个返回的浮点数似乎在不同的平台上具有不同的精度,那么我如何断言返回的值为 1.23456789?如果我这样做:

那么这可能会在某些精度不够的平台上失败。

0 投票
4 回答
7584 浏览

c - 如何使用 C 断言使代码更安全?

阅读杂项。与 SDL 开发相关的教程 我发现了两个不同的示例,它们做同样的事情,但方式不同。从代码“安全性”和可维护性的角度来看,我想知道您认为这两者中的哪一个是正确的。

在第一个示例中,程序员根本没有使用断言,但代码看起来不错(至少在我看来):

在第二个示例中,程序员 [other] 使用了不同的方法,例如(代码不完全是复制粘贴):

可以用第二个示例中的断言“替换” if 条件(来自第一个示例)吗?

什么是正确的策略(如果有的话)?

0 投票
3 回答
2513 浏览

c# - Debug.Assert() 已停止在我的项目中工作

出于某种原因,以下行在我的 ASP.NET MVC 项目中没有任何作用:

我已经三重检查了我正在使用调试配置,并且在调试配置设置中检查了“定义调试常量”。

同样的问题也出现在我的单元测试项目中。

实现我自己的 assert 方法似乎微不足道,但有点尴尬。任何有关如何解决此问题的提示将不胜感激。

编辑:我在我的项目中使用了几个第三方模块。这可能是由于引用了在发布模式下编译的模块造成的吗?

0 投票
3 回答
731 浏览

php - 这在 php.ini 中是什么意思?

它是如何工作的?

0 投票
4 回答
12947 浏览

iphone - 为什么断言只是终止为 iPhone 编译的程序?

我正在调试一个严重 assert() 的 iPhone 应用程序(Xcode、Objective-C++ 和设备模拟器)。在某些情况下,断言失败只会终止应用程序,而不是像我期望的那样闯入调试器。

我通过实施我自己的有点断言来解决:

(绒毛省略),但我想知道是否有人遇到过这种情况。我无法确定它何时中断以及何时终止的模式。代码没有线程化;它所做的一切都是在事件处理程序中完成的。

为什么会发生这种情况,我如何让 vanilla assert() 表现得像一个条件断点?