标签: assert

java的断言语句是否允许您指定消息?

似乎在断言失败时断言显示消息可能有用.

当前AssertionError被抛出,您可以为它指定自定义消息吗?

你能展示一个这样做的机制(除了创建自己的异常类型并抛出它)吗?

java assert

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

如何在Eclipse中以程序方式启用Java关键字断言?

如何assert在Eclipse中启用关键字?

public class A
{
    public static void main(String ... args)
    {
        System.out.println(1);
        assert false;
        System.out.println(2);
    }
}
Run Code Online (Sandbox Code Playgroud)

java eclipse assert assertions

60
推荐指数
3
解决办法
5万
查看次数

Python/Django:如何断言单元测试结果包含某个字符串?

在python单元测试中(实际上是Django),assert如果我的测试结果中包含我选择的字符串,那么正确的语句是什么?

即,像 result

我想确保我assert至少包含我指定为上面第二个参数的json对象(或字符串),即result

python django json unit-testing assert

59
推荐指数
5
解决办法
6万
查看次数

为什么断言没有被大量使用?

我发现Python的断言语句是捕获永远不会发生的情况的好方法.当代码被认为是正确的时,可以通过Python优化删除它.

它似乎是在调试模式下运行Python应用程序的完美机制.但是看看django,twisted和zope等几个Python项目,assert几乎从未使用过.那么,为什么会这样呢?

为什么在Python社区中不经常使用断言语句?

python debugging assert

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

为什么断言宏而不是函数?

我的讲师在课堂上问过我,我想知道为什么它是一个宏而不是一个函数?

c assert c-preprocessor

58
推荐指数
4
解决办法
5595
查看次数

在Python中断言变量类型的正确方法

在使用函数时,我希望确保变量的类型符合预期.怎么做对了?

这是一个假冒函数的示例,在继续其角色之前尝试执行此操作:

def my_print(begin, text, end):
    """Print 'text' in UPPER between 'begin' and 'end' in lower

    """
    for i in (begin, text, end):
        assert isinstance(i, str), "Input variables should be strings"
    out = begin.lower() + text.upper() + end.lower()
    print out

def test():
    """Put your test cases here!

    """
    assert my_print("asdf", "fssfpoie", "fsodf")
    assert not my_print("fasdf", 33, "adfas")
    print "All tests passed"

test()
Run Code Online (Sandbox Code Playgroud)

断言是正确的方法吗?我应该使用try/except吗?

此外,我的断言测试集似乎不能正常工作:S

谢谢pythoneers

python testing assert

57
推荐指数
4
解决办法
9万
查看次数

PHPUnit:assertInstanceOf()不起作用

我需要检查变量是否是User类型的对象.用户是我的班级$user我的对象

$this->assertInstanceOf($user,User);
Run Code Online (Sandbox Code Playgroud)

这不起作用,我使用未定义的常量用户 - 假设'用户'

在此先感谢您的帮助

php phpunit assert assertions

56
推荐指数
3
解决办法
5万
查看次数

异常与断言

Java异常处理和使用assert条件之间有什么区别?

众所周知,Assert有两种类型.但什么时候应该使用assert关键字?

java assert

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

python的设计:为什么断言声明而不是函数?

在Python中,assert是一个语句,而不是一个函数.这是一个刻意的决定吗?assert成为一个声明(和保留字)而不是一个函数有什么好处吗?

根据 文件,assert expression1, expression2扩大到

if __debug__:
    if not expression1: raise AssertionError(expression2)
Run Code Online (Sandbox Code Playgroud)

文档还说"当编译时请求优化时,当前代码生成器不会为assert语句发出代码." 在不知道细节的情况下,似乎需要一个特殊情况才能实现这一目标.但是,一个特殊情况也可用于优化对assert()函数的调用.

如果assert是一个函数,你可以写:

assert(some_long_condition,
       "explanation")
Run Code Online (Sandbox Code Playgroud)

但因为assert是一个声明,元组总是评估True,你得到

SyntaxWarning: assertion is always true, perhaps remove parentheses?
Run Code Online (Sandbox Code Playgroud)

写它的正确方法是

assert some_long_condition, \
       "explanation"
Run Code Online (Sandbox Code Playgroud)

这可能不那么漂亮了.

python assert language-design

54
推荐指数
4
解决办法
4049
查看次数

为什么assertEquals()参数在顺序中(预期的,实际的)?

为什么这么多assertEquals()或类似的函数将期望值作为第一个参数而实际的函数作为第二个参数?
这对我来说似乎是违反直觉的,所以这种不寻常的订单有什么特别的原因吗?

debugging assert

52
推荐指数
6
解决办法
2万
查看次数