Questions tagged «assert»

断言是一条语句,当它的评估结果为false时,它将中止程序。断言通常用于调试和永远不会发生的情况。

6
为什么Assert.AreEqual(T obj1,Tobj2)在相同的字节数组下失败
在以下代码段中,我有两个相同的字节数组: /// <summary> ///A test for Bytes ///</summary> [TestMethod()] public void BytesTest() { byte[] bytes = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketData); TransferEventArgs target = new TransferEventArgs(bytes); byte[] expected = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketValue); byte[] actual; actual = target.Bytes; Assert.AreEqual(expected, actual); } 直到下一个字节,两个数组都是相同的。在这种情况下,为什么Assert.AreEqual失败?




6
如何在Android中使用assert?
我想assert obj != null : "object cannot be null"在Android设备上使用。该断言似乎不起作用,因此我在网上搜索后发现了这种本地解决方案: 亚行外壳setprop debug.assert 1 它确实可以在我的本地计算机上运行。 我想使用我的Eclipse项目运行此命令(因此它将在源代码控件中)。我该怎么做?
77 java  android  assert 


5
在Ruby的Kernel类中添加assert()方法是否是惯用的Ruby?
我通过在Ruby中编码等效于Kent Beck的xUnit来扩展我对Ruby的理解。Python(由Kent编写)以广泛使用的语言提供了assert()方法。Ruby没有。我认为添加它应该很容易,但是Kernel是否正确放置它? 顺便说一句,我知道Ruby中存在各种Unit框架-这是一种学习Ruby习惯用法的练习,而不是“完成某些工作”。
76 ruby  assert  xunit 


5
如何完全禁用对assert()的调用?
我的代码充满了对的调用assert(condition)。在调试版本中,我使用g++ -g它触发我的断言。出乎意料的是,在我的发行版本中也触发了相同的断言,即没有-g选项的情况下编译的断言。 如何在编译时完全禁用我的断言?我应该NDEBUG在生产的任何版本中明确定义,而不管它们是调试,发布还是其他任何形式?
75 c++  c  assert 

3
在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", …
72 python  testing  assert 

3
Unittest的assertEqual和Iterables-仅检查内容
单元测试中是否有“体面”的方法来检查两个可迭代对象的内容是否相等?我使用了很多元组,列表和numpy数组,我通常只想测试内容而不是类型。目前,我只是在强制转换类型: self.assertEqual (tuple (self.numpy_data), tuple (self.reference_list)) 我前一段时间使用此列表理解: [self.assertEqual (*x) for x in zip(self.numpy_data, self.reference_list)] 但是该解决方案似乎不如类型转换,因为它仅在失败时打印单个值,并且对于不同长度的引用和数据也不会失败(由于zip功能)。

6
您是否应该在生产代码中使用assert语句断言不为null?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便可以通过编辑此帖子以事实和引文回答。 上个月关闭。 我已经看到了这个问题,但是关于assert关键字的用法还有其他一些问题。我正在和其他一些编码员讨论使用assert。对于此用例,有一种方法可以在满足某些先决条件的情况下返回null。我编写的代码调用该方法,然后断言它不会返回null,并继续使用返回的对象。 例: class CustomObject { private Object object; @Nullable public Object getObject() { return (object == null) ? generateObject() : object; } } 现在想象一下我是这样使用它的: public void useObject(CustomObject customObject) { object = customObject.getObject(); assert object != null; // Do stuff using object, which would throw a NPE if …
32 java  assert  nullable 

4
是否可以在Python中更改PyTest的assert语句行为
我正在使用Python断言语句来匹配实际和预期的行为。我对这些没有控制权,好像有一个错误测试用例中止了一样。我想控制断言错误,并要定义是否要在失败断言时中止测试用例。 我还想添加一些类似的内容,如果存在断言错误,则应该暂停测试用例,并且用户可以随时恢复。 我不知道该怎么做 代码示例,我们在这里使用pytest import pytest def test_abc(): a = 10 assert a == 10, "some error message" Below is my expectation 当assert抛出assertionError时,我应该可以选择暂停测试用例,并且可以调试并稍后恢复。对于暂停和恢复,我将使用tkinter模块。我将做一个断言功能如下 import tkinter import tkinter.messagebox top = tkinter.Tk() def _assertCustom(assert_statement, pause_on_fail = 0): #assert_statement will be something like: assert a == 10, "Some error" #pause_on_fail will be derived …

1
可折叠节:[Assert]无法为preReloadFirstVisibleRow(0)确定新的全局行索引
我正在UITableViewController中实现可折叠的节标题。 这是我确定每个部分要显示多少行的方法: override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.sections[section].isCollapsed ? 0 : self.sections[section].items.count } 有一个结构,其中包含用于“ isCollapsed”的部分信息。 这是我如何切换他们的状态: private func getSectionsNeedReload(_ section: Int) -> [Int] { var sectionsToReload: [Int] = [section] let toggleSelectedSection = !sections[section].isCollapsed // Toggle collapse self.sections[section].isCollapsed = toggleSelectedSection if self.previouslyOpenSection != -1 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.