草庐IT

C# - 在单元测试中断言两个对象相等

使用Nunit或Microsoft.VisualStudio.TestTools.UnitTesting。现在我的断言失败了。[TestMethod]publicvoidGivenEmptyBoardExpectEmptyBoard(){vartest=newBoard();varinput=newBoard(){Rows=newList(){newRow(){Cells=newList(){0,0,0,0}},newRow(){Cells=newList(){0,0,0,0}},newRow(){Cells=newList(){0,0,0,0}},newRow(){Cells=new

c# - 是否有可单元测试的方式将文件上传到 ASP.NET WebAPI?

我在一个使用新的ASP.NETWebAPI的项目中工作。我当前的任务是接受上传的文件。到目前为止,我已经使用TDD来驱动WebAPI代码,但我在上传时遇到了瓶颈。我目前正在遵循http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2上的建议,但似乎根本没有办法将其排除在单元测试之外。为了获取文件和表单数据,我必须使用MultipartFormDataStreamProvider,这是不可能模拟和/或覆盖的。除了放弃我的TDD方法,我还能做什么?示例代码如下:publicTas

c# - xUnit 不等待异步测试

在VS2013上,我无法让这个异步测试失败。我有xUnit1.8.0.1539(从nuget安装),带有xUnitTestRunnerVS扩展(0.99.5)。所有电流,据我所知。我碰巧在单元测试中也有Moq、AutoFixture和FluentAssertions引用,但我认为这不重要(但我承认它以防万一)。我已经在我的解决方案的其他方面进行了异步单元测试,并且它们有效。我在这个新创建的测试中遗漏了一些东西,我不知道我遗漏了什么或做错了什么。注意SUT代码并不完整。我只是想先让红灯亮起来,然后再编写代码让测试变绿。测试代码如下:usingSystem.Threading.Tasks;

javascript - 使用 qUnit 时如何在每次测试前运行一个函数?

什么是qUnit的nUnits[SetUp]属性? 最佳答案 注册一个QUnit回调varmySetupFunc(details){/*setupcode*/}QUnit.testStart(mySetupFunc);回调详情从QUnit版本1.10.0pre-A开始,每个注册callback将接收一个散列作为第一个(也是唯一的)参数。我在上面的示例中将我的命名为“详细信息”。哈希的内容因回调而异。这是每个散列中的信息列表。begin(开始所有测试){}/*emptyhash*/done(所有测试结束)失败:(int)总测试失败通过

javascript - AngularJS 1.3.15 如何同步测试动画?

我猜我遇到了angular-animate.js从1.2版到1.3版的迁移问题。这是我的动画'usestrict';angular.module('cookbook',['ngAnimate']).animation('.slide-down',function(){varNG_HIDE_CLASS='ng-hide';return{beforeAddClass:function(element,className,done){alert('beforeadd');if(className===NG_HIDE_CLASS){element.slideUp(done);}},remove

javascript - JavaScript 库的测试驱动开发

目前我正在为Web服务开发JS库,您可以将它与TwitterAnywhere进行比较。现在我想让它更受测试驱动。测试并不容易,因为它必须在每个想要使用它的站点上运行,当然还要在每个浏览器上运行。如何有效地测试库?所有的API请求和响应都是JSON格式,有没有好的方法来测试这些调用?我知道Cucumber和js-test-driver。您好,切卢斯 最佳答案 Javascript语言本质上是动态的,因此它对测试驱动非常友好。我最近对javascript测试有了一点经验。我已经使用TDD重写了主要的JavaScript组件,并获得了清晰

javascript - RequireJS 和 Headless 测试驱动开发

我希望在我的下一个大型JS项目中使用RequireJS,但是我很难弄清楚如何在headless测试环境中对其进行测试。我对RequireJS和测试驱动的编码方法都不熟悉,所以任何对新手友好的东西都会很棒。 最佳答案 您可以从命令行测试RequireJS模块usingr.jstorunyourscriptsinNode.然后,您可以使用Node模块,例如assert,为您自己创建一个测试套件。这是一个过于简单的例子:scripts/simple.js:define({name:'Reallysimplemodule'});tests/

javascript - mocha-phantomjs 的 mocha init 超时

我有以下testrunner.html:Specsfunctionassert(expr,msg){if(!expr)thrownewError(msg||'failed');}_runner.js如下所示://ConfigureRequireJSrequire.config({baseUrl:'/client',urlArgs:"v="+(newDate()).getTime()});//Requirelibrariesrequire(['require','lib/chai','lib/mocha'],function(require,chai){//Chaiassert=chai

javascript - Chai .js : Object contains/includes

Chai有一个include方法。我想测试一个对象是否包含另一个对象。例如:varorigin={name:"John",otherObj:{title:"Example"}}我想使用Chai来测试这个对象是否包含以下内容(它确实包含)varmatch={otherObj:{title:"Example"}}这样做似乎不起作用:origin.should.include(match) 最佳答案 嘿,刚刚发布了chai-subset。检查一下:https://www.npmjs.org/package/chai-subset这应该适合

javascript - 在 javascript 认为文档为 "ready"之前,如何让我的 jasmine 测试装置加载?

我相当确定问题是设置为在$(document).ready上运行的jquery绑定(bind)没有可用的固定html。因此,当我发生旨在通过jquery函数更改DOM的事件时,什么也没有发生,我的测试失败了。我看到了这个问题的“解决方案”here,但是对我有用的解决方案需要更改我的工作jquery函数以绑定(bind).live方法而不是.click方法。我有两个问题。首先,我不想更改我的工作代码以使测试正确通过。测试框架应该测试代码是否会在应用程序中工作,DOM加载和javascript绑定(bind)以正确的顺序发生。我对解决方案的第二个问题是.on和.delegate由于某种原因