草庐IT

unit-testing

全部标签

c# - Service Fabric 单元测试和依赖注入(inject)

我无法通过仅调用其构造函数然后测试其方法来测试ReliableService/Actor。vartestService=newSomeService();抛出NullReferenceException。那么我可以用部署的服务做什么..我知道部署的SFReliableServices/Actor不是标准的.NET类,对部署的S/A进行单元测试可能是一个奇怪的想法。无论如何,现在我正在尝试一下。例如。我刚刚部署了一个服务,而不是在测试中我创建了一个代理对象并将项目添加到服务的输入队列中。然后我需要断言输入队列计数=1。如果我刚刚部署了一个服务并且没有其他客户端/服务/参与者使用它的输入队

c# - 是否应该对 Dispose 方法进行单元测试?

我正在使用C#。是否建议对处置方法进行单元测试?如果是,为什么以及应该如何测试这些方法? 最佳答案 是的,但可能很难。Dispose实现中通常会发生两件事:非托管资源被释放。在这种情况下,很难验证调用的代码,例如Marshal.Release。一个可能的解决方案是注入(inject)一个可以进行处理的对象,并在测试期间将模拟传递给它。一些这样的效果:interfaceComObjectReleaser{publicvirtualRelease(IntPtrobj){Marshal.Release(obj);}}classClassW

c# - 单元测试数据访问层的方法

我一直在尝试寻找一种有效的方法来对C#中的数据访问层进行单元测试。我是一名主要的Java开发人员,只使用C#大约6个月,过去我使用一个名为DBUnit的库来测试已知状态数据库。我还没有找到可以使用的类似事件库,最接近的似乎是nDBUnit,但它现在已经有一段时间没有事件了。在C#中似乎有很多关于如何以及为什么相互冲突的方法。理想情况下,我想在不需要连接到数据库的情况下使用模拟来测试数据访问层,然后在一组单独的测试中对存储过程进行单元测试。在我正在处理的系统中,数据访问层是使用ADO.net(不使用EntityFramework)来调用SQLServer上的存储过程。下面是我必须使用的示

c# - DeploymentItem 未部署文件

我正在使用MS单元测试框架来测试我的C#库。我必须打开一个我正在使用DeploymentItem属性部署的文件。但是它没有将文件部署到测试部署目录。在我的单元测试项目中,我创建了一个文件夹TestFile在这个文件夹中有多个文件,比如a.txt,b.txt。现在,在我的单元测试类中,我添加了DeploymentItem属性。但是文件没有被复制。这是我的代码。[TestClass][DeploymentItem("TestFile")]publicclassCustomLibraryTest{publicTestContextTestContext{get;set;}[TestMetho

c# - 如何使用 decimal.MaxValue 进行测试?

考虑以下测试:publicvoidFooTest(decimal?val){Check.That(true).IsTrue();}我想用极端值(即MaxValue和MinValue)运行这个测试。[TestCase(decimal.MaxValue)]这会输出以下错误:属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式[TestCase(79228162514264337593543935)]我现在明白了:积分常数太大最后一次绝望的尝试:[TestCase(79228162514264337593543935M)]显然我得到这个是因为强制转换:属性参数必须是属性

c# - xUnit 不等待异步测试

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

JavaScript 样式/优化 : String. indexOf() v. Regex.test()

我最近遇到了这段JavaScript代码:if(",>=,,".indexOf(","+sCompOp+",")!=-1)我很感兴趣,因为要编写这个测试我会这样做:if(/(>=|)/.test(sCompOp))这只是风格上的差异,还是其他代码的作者了解一些我不知道的优化知识?或者也许有不同的充分理由这样做,或者不使用正则表达式......?在我看来,为此使用String.indexOf()有点难以阅读(但是,我对正则表达式很满意),但是有没有实例可能比编写等效的正则表达式“更好”?通过可能更快或更有效的“更好”(尽管显然这取决于浏览器的JavaScript引擎)或其他一些我不知道的

javascript - 在 Javascript 中访问内部函数变量

在很多框架中,内部函数变量被用作私有(private)变量,例如Raphael=(function(){var_private=function(a,b){returna+b;};var_public=function(a){return_private(a,a);}varobject={mult2:_public};returnobject;})();在这里,我们无法从全局命名空间访问名为private的变量,因为它是第一行匿名函数的内部变量。有时这个函数包含一个大的Javascript框架,这样它就不会污染全局命名空间。我需要对Raphael内部使用的某些对象进行单元测试(在上面的

javascript - 当您运行 jest --coverage 时,Branches 列的作用/含义是什么?

我运行了测试,这是我收到的:----------------|------------|------------|----------|------------|--------------------|文件|%Stmts|%分支|%函数|%行|未覆盖的行#s|--------------|------------|----------|----------|-----------|--------------------|所有文件|100|0|100|100||搜索|100|100|100|100||索引.js|100|100|100|100||搜索结果|100|0|100|100|

javascript - 使用 Karma 运行的 Mocha 单元测试 - done() 未定义

我正在尝试让用Mocha编写的测试运行Karma,它们有点工作,但我不能使用done()方法来实现异步测试,这实际上使这些工具对我毫无用处。我错过了什么?karma.conf.jsmodule.exports=function(config){config.set({basePath:'../..',frameworks:['mocha','requirejs','qunit'],client:{mocha:{ui:'bdd'}},files:[{pattern:'libs/**/*.js',included:false},{pattern:'src/**/*.js',included