标签: assertions

在Ruby中使用asserts的最佳实践是什么,但不是单元测试的一部分?

我想使用断言在rake任务中引发错误.

the_index = items.index(some_item)
assert_not_nil the_index, "Lookup failed for the following item: " + some_item
Run Code Online (Sandbox Code Playgroud)

我得到undefined method assert_not_nil.我可以在我的rake任务中包含断言文件吗?怎么样?

这是最佳做法,还是有更好的方法来做到这一点?

在Ruby 1.9.2中工作.

ruby assertions rake-task ruby-on-rails-3

4
推荐指数
1
解决办法
1021
查看次数

OS X Mountain Lion 电源断言

我试图找到一些关于如何在 OS X 上以编程方式使用电源断言的示例代码或示例或良好的文档。Mountain lion 似乎会在系统睡眠时终止网络访问,因此 Apple 建议使用电源断言来保持系统唤醒并保持网络访问可用。修改电源断言的适当命令是 pmset,但是我没有找到任何有关如何使用它的示例。顺便说一句,Snow Leo 和 Lion 似乎没有这个问题,所以我猜这一定是 Mountain Lion 引入的一些功率优化设置。任何有关如何以编程方式为应用程序设置电源断言的代码示例/示例/文档都将受到热烈欢迎。

macos assertions osx-mountain-lion

4
推荐指数
1
解决办法
1421
查看次数

如何使用 Chai 检查值是否在对象中?

是否可以使用 Chai 断言库测试某个数组中包含的值?

例子:

var myObject = {
    a : 1,
    b : 2,
    c : 3
};
var myValue = 2;
Run Code Online (Sandbox Code Playgroud)

我需要做这样的事情(但它不起作用):

expect(myObject).values.to.contain(myValue);
//Error: Cannot read property 'to' of undefined

expect(myObject).to.contain(myValue);
//Error: Object #<Object> has no method 'indexOf'
Run Code Online (Sandbox Code Playgroud)

我该如何测试?

javascript unit-testing object assertions chai

4
推荐指数
2
解决办法
7198
查看次数

为什么mocha没有内置的断言定义

所以我试图将mocha配置为我正在处理的javascript项目的测试框架,并且我遇到了一个奇怪的事实,即你必须使用一个单独的断言框架.关于断言的Mocha文档声明它可以用于任何断言框架,这是一个值得称赞的目标,但为什么它不提供任何内置的断言方法?我只是很难想到你想要一个测试框架的任何用例,但没有办法通过或未通过测试.

javascript mocha.js assertions

4
推荐指数
1
解决办法
732
查看次数

Swift 中的断言

我在 Swift 中测试了断言,但我有点困惑。你能解释一下assert,assertionFailurefatalError函数之间的区别吗?

我知道@noreturn属性(由 Seven Oglesby很好地解释了),但我不明白,这些函数什么时候被评估,什么时候被忽略。

函数assert并且fatalError仅在调试模式下发生,我测试了这种行为,这是真的。但assertionFailure也会在发布配置中停止程序。在文档中保持:

发生致命错误,程序执行应在调试模式下停止。在优化的构建中,这是一个 noop。

然后我不明白,为什么不忽略在非调试模式下对该方法的评估。有没有人有任何经验?

assert assertions swift

4
推荐指数
1
解决办法
2110
查看次数

调试断言失败:_CrtIsValidHeapPointer(块)

我写了一个模拟矩阵的代码。这个矩阵有一个指向指针的指针,实际上它是一个链表数组。我有两个 - 一个用于行,第二个用于列。每个数组索引其矩阵行/列的第一位,列表是 rox/col 中的其余数字。

我可以发送代码,但它不短。

我的问题是,在我做了一些操作之后,我试图在最后删除矩阵 - 它向我弹出了这个失败的问题。我尝试更改我的代码,发现问题出在这里:

delete this->rowsArray;
this->rowsArray = newRowArray; ->here


delete this->colsArray;
this->colsArray = newColArray; ->here
Run Code Online (Sandbox Code Playgroud)

rowsArray 和 colsArray 像这样初始化:

rowsArray = new matrixNode*[lastRowPlace+1]; colsArray = new matrixNode*[lastColPlace+1];

关于 newColsArray 和 row 也是如此...我希望你能给我一个建议,因为我真的不知道该怎么做:(

**只是忘了说问题就在析构函数处出现......

c++ debugging matrix assertions

4
推荐指数
1
解决办法
3万
查看次数

stopifnot() 与 assertError()

我不知道之间的差别stopifnot()assertError()有:

assertError()默认情况下未找到(您必须首先加载“工具”包),但是stopifnot()

更重要的是, assertError() 总是会抛出错误消息,即使我传递了像TRUEor 之类的参数FALSE,而stopifnot()做明显和预期的事情。

阅读手册页没有帮助。而不是的正确用法是assertError(length(x) != 7)什么?如果x未定义,则语句不会产生错误,但是一旦定义,就会产生错误,与长度x(7 与否)无关。

r assertions

4
推荐指数
1
解决办法
1472
查看次数

是否可以使用FieldByFieldElementComparator从assertJ中排除某些字段?

如何实现以下目标:

List<Data> streams = new ArrayList<>();
assertThat(streams).usingFieldByFieldElementComparatorIgnoringGivenFields("createdOn").containsOnly(data1, data2);
Run Code Online (Sandbox Code Playgroud)

java assertions assertj

4
推荐指数
1
解决办法
1729
查看次数

为什么我的矢量代码断言?无论如何,断言是什么?

究竟什么是"断言",或者更具体地说,我如何摆脱错误.当我创建一个指向带有数据成员int x的类的指针向量,然后执行以下操作:

for(I=antiviral_data.begin();I<antiviral_data.end();I++)
{
    if((*I)->x>maxx)
    {
        antiviral_data.erase(I);
    }
}
Run Code Online (Sandbox Code Playgroud)

并运行该程序,我得到没有错误,直到x大于maxx并且我使用.erase(),此时我收到此错误:

调试断言失败!

程序:...我的文档\ O.exe文件:... include\vector行:116

表达式:("this - > _ Has_container()",0)

有关程序如何导致断言失败的信息,请参阅有关断言的Visual C++文档.

(按"重试"调试应用程序)

[中止] [重试] [忽略]

另外,如果我尝试使用cout:

cout<<(*antiviral_data.begin())->x<<endl;
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

调试断言失败!

程序:...我的Documents\O.exe文件:... include\vector Line:98

表达式:矢量迭代器不可分辨

有关程序如何导致断言失败的信息,请参阅有关断言的Visual C++文档.

(按"重试"调试应用程序)

[中止] [重试] [忽略]

有人可以告诉我为什么我不能使用向量中的任何数据,以及如何解决它?

另外:antiviral_data是指针的向量,只有一个元素:

antiviral_data.push_back(new aX1(player.x,player.y,'>'));
Run Code Online (Sandbox Code Playgroud)

如果这有帮助.

c++ vector assertions

3
推荐指数
2
解决办法
4648
查看次数

如何使用Python unittest assertRaises来测试该函数不会抛出任何异常?

我正在尝试使用unittest模块测试某个函数是否不会抛出任何异常.这可能吗?我只知道assertRaises方法,但这只是测试抛出异常,而None参数不适用于Exception类型参数...

有任何想法吗?

python unit-testing assertions

3
推荐指数
1
解决办法
2578
查看次数