草庐IT

assert_output

全部标签

c# - 如何防止 Debug.Assert(...) 显示模态对话框

我有几个使用Debug.Assert(...)的库。我认为Debug.Assert(...)很好,我仍然希望它们执行,但我不希望它们阻止我的应用程序的执行。理想情况下,我只希望将它们记录在某个地方。鉴于我无法更改库的代码(并且我仍然想在调试中编译并运行断言),我该如何防止Debug.Assert(...)显示模态对话框?此外,我想确保主程序在Assert发生时继续运行(与“忽略”按钮的行为相同)。谢谢! 最佳答案 不需要Debug.Listeners.Clear()只需添加到您的.config:

c# - NUnit3 : Assert. 抛出异步任务

我正在尝试将测试移植到NUnit3并收到System.ArgumentException:不支持“asyncvoid”方法,请改用“asyncTask”。[Test]publicvoidInvalidUsername(){...varexception=Assert.Throws(async()=>awaitclient.LoginAsync("notarealuser@example.com",testpassword));exception.HttpResponseMessage.StatusCode.ShouldEqual(HttpStatusCode.BadRequest);/

c# - Output类型为Class Library的项目无法直接启动

我已经下载了C#示例代码。但是当我运行时,我收到此错误消息:AprojectwithanOutputtypeofClassLibrarycannotbestarteddirectlyInordertodebugthisproject,addanexecutableprojecttothissolutionwhichreferencesthelibraryproject.Settheexecutableprojectasthestartupproject.请给我一个解决方案。 最佳答案 当前选择的启动项目是类库。您的应用程序需要一个入

c# - 使用 Assert.AreEqual() 比较两个对象

我第一次在VisualStudioC#中编写测试用例,我有一个返回对象列表的方法,我想使用Assert.AreEqual()方法。我尝试这样做,但即使两个对象相同,断言也会失败。我想知道这个方法,两个参数是比较引用还是比较对象的内容,我是否必须重载==运算符才能使其正常工作? 最佳答案 这些答案对于这个问题来说太复杂了。比较两个列表不需要覆盖,也不需要分解多个断言。Microsoft使用以下类CollectionAssert。CollectionAssert.AreEqual(expectedList,actualList)这适用于

c# - Assert.That 与 Assert.True

喜欢什么:Assert.That(obj.Foo,Is.EqualTo(true))或Assert.True(obj.Foo)对我来说,这两个断言是等价的,那么应该首选哪个? 最佳答案 在这种特殊情况下,没有区别:您将看到大致相同详细程度的输出(即它告诉您预期评估为true的内容已评估为假)。同样适用于Assert.IsTrue(obj.Foo);和Assert.That(obj.Foo,Is.True);您的团队应该选择一种断言风格,并在所有测试中坚持使用它。如果您的团队更喜欢Assert.That风格,那么您应该使用Assert

c# - Debug.Assert 与代码契约(Contract)用法

我应该在什么时候对代码契约进行调试断言,反之亦然?我想检查一种方法的先决条件,但我很困惑要选择一个而不是另一个。我有单元测试,我想在其中测试失败场景并期望出现异常。在同一个方法上使用Debug.Assert和Code契约是一种好的做法吗?如果是这样,代码的编写顺序应该是怎样的?Debug.Assert(parameter!=null);Contract.Requires(parameter!=null,"parameter");或Contract.Requires(parameter!=null,"parameter");Debug.Assert(parameter!=null);背后

c# - 如何使用 Fluent Assertions 来测试不等式测试中的异常?

我正在尝试使用C#中的FluentAssertions为大于覆盖的运算符编写单元测试。如果任一对象为空,则此类中的大于运算符应该抛出异常。通常在使用FluentAssertions时,我会使用lambda表达式将方法放入操作中。然后我会运行操作并使用action.ShouldThrow.但是,我不知道如何将运算符放入lambda表达式中。我不想使用NUnit的Assert.Throws(),Throws约束,或[ExpectedException]属性的一致性。 最佳答案 你可以试试这个方法。[Test]publicvoidGrea

c# - 为什么 Assert.IsInstanceOfType(0.GetType(), typeof(int)) 会失败?

我是单元测试的新手,使用Microsoft.VisualStudio.TestTools.UnitTesting;0.GetType()其实就是System.RuntimeType,那么我需要写什么样的测试才能通过Assert.IsInstanceOfType(0.GetType(),typeof(int))?---跟进,这是我自己的用户错误...Assert.IsInstanceOfType(0,typeof(int)) 最佳答案 将调用更改为以下内容Assert.IsInstanceOfType(0,typeof(int));第

c# - WPF XAML 字符串格式日期时间 : Output in wrong culture?

我在输出DateTime值时遇到了一些问题。我的计算机的当前文化设置为de-AT(奥地利)。下面的代码strings1=DateTime.Now.ToString("d");strings2=string.Format("{0:d}",DateTime.Now);导致s1和s2都具有正确的值“30.06.2009”。但是当在XAML中使用相同的格式时输出是“6/30/2009”。XAMLStringFormat似乎忽略了当前的区域性设置。这在Vista和XP上都会发生。我不想指定自定义格式,因为输出的格式应符合用户的首选文化设置。有人遇到同样的问题吗?这是WPF中的错误吗?

c# - NUnit 3.0 和 Assert.Throws

我正在使用NUnit3.0编写一些单元测试,与v2.x不同,ExpectedException()已从库中删除。基于this答案,我绝对可以看到试图在测试中具体捕获人们期望他们的系统抛出异常的地方的逻辑(而不是仅仅说“测试中的任何地方”)。但是,我倾向于非常明确地说明我的Arrange、Act和Assert步骤,这使它成为一个挑战。我曾经做过这样的事情:[Test,ExpectedException(typeof(FormatException))]publicvoidShould_not_convert_from_prinergy_date_time_sample1(){//Arra