草庐IT

assert_param

全部标签

c# - C# 中的命名参数和 params 关键字

这个问题在这里已经有了答案:Howtosetnamedargumentforstring.Format?(2个答案)关闭9年前。我有一个C#方法,它带有使用params关键字声明的可变长度参数列表:publicvoidVariableLengthParameterFunction(objectfirstParam,paramsobject[]secondParam)调用方法时有没有使用命名参数的方法?

c# - C#如何选择带歧义和params

假设我有以下方法:publicstaticvoidMyCoolMethod(paramsobject[]allObjects){}publicstaticvoidMyCoolMethod(objectoneAlone,paramsobject[]restOfTheObjects){}如果我这样做:MyCoolMethod("Hi","test");哪个被调用,为什么? 最佳答案 很容易测试-调用第二个方法。至于为什么-C#语言规范有一些关于如何解决不明确的函数声明的非常详细的规则。有很多关于SO周围接口(interface)、继承和

c# - NUnit:为什么 Assert.Throws<T> 没有捕获我的 ArgumentNullException?

我应尊敬的JohnSkeet先生的要求重新发布这个问题,他建议我设计一个简单的测试程序来隔离和演示我遇到的问题并重新发布这个问题。这个问题源于thisone,所以如果这一切听起来很熟悉,请原谅我。您可能会从那个问题中收集到关于这个问题的额外详细信息。我遇到的问题是Assert.Throws来自NUnit2.5.9。有时,它无法捕获在TestDelegate调用的方法中抛出的任何异常。我在下面的代码中以可重现的方式确定了这种行为。(尽管这可能是FailsOnMyMachine™的一个例子。为了重现错误,我创建了一个包含两个C#DLL项目的解决方案:第一个包含一个类,具有一个公共(publ

ShouldBeEquivalentTo 的 C# Fluent Assertions 全局选项

在FluentAssertions中比较具有DateTime属性的对象时,有时会出现毫秒的轻微不匹配,从而导致比较失败。我们绕过它的方法是像这样设置比较选项:actual.ShouldBeEquivalentTo(expected,options=>options.Using(ctx=>ctx.Subject.Should().BeCloseTo(ctx.Expectation)).WhenTypeIs());有没有办法设置一次并始终应用它,而不是每次我们调用ShouldBeEquivalentTo时都必须指定它?更新一:尝试了以下方法,但它似乎不起作用,测试在1毫秒差异时失败。新的默

c# - 在方法覆盖中更改 params 修饰符

我知道params修饰符(将数组类型的一个参数转换为所谓的“参数数组”)不是方法签名的一部分。现在考虑这个例子:classGiraffid{publicvirtualvoidEat(int[]leaves){Console.WriteLine("G");}}classOkapi:Giraffid{publicoverridevoidEat(paramsint[]leaves){Console.WriteLine("O");}}编译时没有警告。然后说:varokapi=newOkapi();okapi.Eat(2,4,6);//willnotcompile!给出错误(方法“Eat”没有重

C# 使用 params 关键字的结果不一致

给定以下方法:staticvoidChangeArray(paramsstring[]array){for(inti=0;i如果我调用它来传递一个字符串数组,这将起作用:string[]array={"Michael","Jordan"}//willbecome{"Michaels","Jordans"}ChangeArray(array);但如果我使用字符串参数调用它,将无法工作:stringMichael="Michael";stringJordan="Jordan";ChangeArray(Michael,Jordan);//ThiswillNOTchangethevalueso

javascript - Angular 5 HttpClient : Send POST params as URL encoded string

Angular5.0.1我正在查看AngularHttpClient的文档:https://angular.io/guide/http,但我似乎无法弄清楚如何将POST参数作为URLEncoded字符串而不是JSON字符串发送。例如,我的Javahttp客户端默认会这样发送:username=test%40test.com&password=Password1&rolename=Admin但是Angular想要默认发送为Json:{"username":"test@test.com","password":"Password1","rolename":"Admin"}这是我目前的代码:

javascript - 用户界面路由器 : How to get next state params in transition

我正在使用ui-router1.0.0.beta.3。如何在转换期间获取下一状态的路由参数?index.run.js$transitions.onStart({to:'**'},verifyAuth);functionverifyAuth(trans){letnextState=trans.$to();if(Auth.verify(nextState.authGroup)===-1){return$state.go('login',{nextState:nextState.name,nextParams:nextState.params});//thisdoesn'twork}}我想存

javascript - 如何从 saga 获取 action.params

我正在使用redux-saga。在代码yield*ReduxSaga.takeEvery('MY_ACTION',updatePorts);中,我如何访问action以获取其字段。例如我有一个Action创建器:functionstatus(){type:'MY_ACTION',status:true}如何从我的saga访问action.status?还是我必须仅通过getState()和select访问数据?? 最佳答案 constactionCreator=()=>({type:'MY_ACTION',status:true})

javascript - 单元错误 : assertion outside test context

我已经搜索过了,看来这个错误是由于没有正确使用asyncTest造成的。但是,根据文档,我似乎做对了。我猜我在某处遗漏了一个小细节,需要一双额外的眼睛……我正在尝试测试一些代码,这些代码发出ajax请求以获取页面,然后将其加载到灯箱中。lightbox-content在ajax调用完成并可以显示之前不会显示在DOM中。因此,我只能在我的onComplete回调中检查它,这是我进行测试以查看它是否正确加载的地方。这是我的代码:asyncTest('mytest',1,function(){utils.lightbox.show('/login',{onComplete:function(