assert 相关问题

断言是一个语句,它在计算结果为false时中止该程序。断言通常用于调试和永远不会发生的情况。

有没有办法指定仅在 Rust 测试中有效的断言?

我正在实现一个具有内部不变量的数据结构,我想通过测试来覆盖它。这个不变量是数据结构的一部分;因此,如果实施得当,永远不会违反...

回答 1 投票 0

使用断言而不是使用简单的“if”有什么好处?

给出这段代码: #包括 #包括 无效 print_number(int* somePtr) { 断言(somePtr!= NULL); printf("%d ",*somePtr); } int 主函数 () { 整数a=1234; 整数...

回答 6 投票 0

验证函数参数是否为数字的好方法是什么

我有一个接受 3 个参数的函数,我想确保这三个参数都是数字。 截至目前,我经过一番试验后做到了这一点,它似乎有效,但我没有......

回答 2 投票 0

“自定义”简短测试摘要信息 pytest

我开始学习自动化测试。 当我运行测试时,我想在 selenium NoSuchElementException 错误上获取特定文本(“无添加到购物车按钮”) 我正在尝试这样做: TestCar 类...

回答 1 投票 0

如何在使用 cabal 运行的脚本中启用断言?

我想在我用 cabal 运行的脚本中使用断言。 文档说 通常可以使用编译器标志打开或关闭断言(对于 GHC,断言通常处于打开状态,除非

回答 1 投票 0

verilog 中的断言

在我的 Verilog 项目中,信号“CsrPlugin_exceptionPortCtrl_exceptionContext_code”在正常情况下通常设置为 4'bxxxx,并在

回答 1 投票 0

C# 单元测试断言日期时间

我对TimeSpan进行了单元测试,我不知道我做得是否正确。 测试用例: /// /// TimeSpan.TryParse 的包装器,避免输出参数。 /// 尝试... 我对TimeSpan进行了单元测试,我不知道我做得是否正确。 测试用例: /// <summary> /// Wrapper around TimeSpan.TryParse that avoids out parameters. /// Tries to parse a string as a TimeSpan and returns the parsed value as a TimeSpan or null if parsing failed. /// </summary> /// <param name="toParse">A string containing a value to convert</param> /// <param name="formatProvider">An object that provides culture-specific formatting information</param> /// <returns>The value parsed as a TimeSpan or null if parsing failed</returns> public static TimeSpan? ParseTimeSpan(this string toParse, IFormatProvider formatProvider) { TimeSpan value; if (TimeSpan.TryParse(toParse, formatProvider, out value)) { return value; } return null; } 单元测试: [TestMethod()] public void ParseTimeSpanTest() { Assert.AreEqual(ParseTime("5:33 pm"), "5:33".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("9:22 AM"), "9:22 AM".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("8:22 pm"), "8:22 pm".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("7:22:44 AM"), "7:22:44 AM".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("9:22:44 pm"), "9:22:44 pm".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("13:22:14"), "13:22:14".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("23:59:00"), "23:59:00".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "25:59:00".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "23:70:00 ".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "23:59:75".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "five thirty".ParseTimeSpan(CultureInfo.InvariantCulture)); } private static DateTime ParseTime(string time) { return DateTime.Parse(time, System.Globalization.CultureInfo.InvariantCulture); } DateTime 和 TimeSpan 类型之间可能存在误解。 DateTime 是一种数据类型,用于表示时间点,例如1776 年 7 月 4 日中午 12 点。 TimeSpan 旨在表示经过的时间/持续时间,即比赛持续了 12 小时 36 分钟。 您可以使用两个日期时间的差值来生成时间跨度。尝试将时间解析为时间跨度是很困难的。例如,如何将上午 9:30 转换为时间跨度? 如果您正在寻找如何测试 TimeSpan,也许下面的内容会有所帮助。 public static TimeSpan? ParseTimeSpan(this string toParse, IFormatProvider formatProvider) { TimeSpan value; if (TimeSpan.TryParse(toParse, formatProvider, out value)) { return value; } return null; } [TestMethod()] public void ParseTimeSpanTest() { Assert.AreEqual(ParseTime("5:33"), "5:33".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("9:22"), "9:22".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("8:22"), "8:22".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("7:22:44"), "7:22:44".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("9:22:44"), "9:22:44".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("13:22:14"), "13:22:14".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(ParseTime("23:59:00"), "23:59:00".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "22:59:00 AM".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "23:70:00 PM".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "23:59:75 AM".ParseTimeSpan(CultureInfo.InvariantCulture)); Assert.AreEqual(null, "five thirty PM".ParseTimeSpan(CultureInfo.InvariantCulture)); var dt = DateTime.Now; Assert.AreEqual(dt.AddHours(1) - dt, "1:00".ParseTimeSpan(CultureInfo.InvariantCulture)); } private static TimeSpan ParseTime(string time) { return TimeSpan.Parse(time, CultureInfo.InvariantCulture); }

回答 1 投票 0

VHDL 断言 - 并发语句

我正在尝试使用VHDL断言。在我的设计中,我直接在 DUT 中编写了断言语句,因为我想监视内部信号。因为我的断言与

回答 1 投票 0

如何在方便的函数中转换TS断言条件?

我正在使用断言条件并有这样的代码 枚举类型 { a = "a", b = "b", c = "c" } 断言(条件:任何):断言条件{ if(!condition) 抛出新的...

回答 1 投票 0

在 R 中的文件名中填充数字

我用过 PadNumbers <- function(numbers) { assertIntegerish(numbers, min.len = 0, lower = 0) strnumbers <- as.character(numbers) numbers <- as.numeric(gsub(".*?(\\d+).*", &qu...

回答 1 投票 0

如何理解AssertThat(JUnit)?

为了理解 JUnit,我编写了以下代码。我特别对 assertThat() 方法感兴趣。 封装测试; 公共类等于{ 私有字符串 x ; 公共等于(...

回答 3 投票 0

使用 Rails 和 Rspec,有没有办法查看某个操作真正将您带到哪个页面?

我有一个 Rails 测试,其中我转到一个页面并输入信息,保存该页面(这使我返回一页),然后尝试返回以查看数据是否仍然存在。我碰壁了,但是

回答 1 投票 0

PHPUnit:当将类型作为第二个参数作为非字符串传递时,assertInstanceOf() 不起作用

我需要检查变量是否是 User 类型的对象。 User 是我的类 $user 我的对象 $this->assertInstanceOf($user, 用户); 这是行不通的。我有以下错误:使用 und...

回答 3 投票 0

循环数组,每个元素一个 JUnit 测试

我有一个 JUnit 4 测试,它循环访问测试数据数组: 公共@Test无效testAll(){ 最终对象[][]集=新对象[][]{ // 设置类型值...

回答 3 投票 0

Selenium C#:查找带有额外“/”的 URL 文本元素

这里是 Selenium C# 的新手,并且一路自学。当我能够验证连接到 URL 的一段文本时,我已经运行了代码和测试。我有工作的例子...

回答 1 投票 0

ValueError 的 Python 断言

有没有办法在纯Python中使用assert来测试ValueError? 例如。就像是: def try_me(): 引发 ValueError("不可能,何塞") 断言 try_me() 是 ValueError

回答 3 投票 0

我如何添加自己的关于 C 中的 assert() 错误的消息?

我需要获得断言失败的输出,如下所示: 断言失败! 程序: C:\... ssert-test.exe 文件:C:\... ssert-test.c,第 21 行 表达式:分母!= 0.0 谁能解释一下...

回答 1 投票 0

Python 测试断言(单元测试,剧作家)

所以我是测试新手,现在已经学习Python/剧作家测试几个星期了。 我必须断言并找到了多种编写它们的方法,所以这听起来可能很愚蠢

回答 1 投票 0

显示断言失败的预期值和实际值

为我的测试编写断言时,断言失败无法提供足够的信息,无需打开 IDE 并开始调试。 例如,我有一些使用“断言”的代码

回答 2 投票 0

如何编写断言来比较日期时间字符串与时区偏移量

我正在开发一个与服务器交互并检索日期时间字符串的Python脚本。我面临的挑战是将脚本中的日期时间字符串与从服务器接收到的日期时间字符串进行比较......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.