Questions tagged «unit-testing»

单元测试是一种测试源代码的各个单元以确定它们是否适合使用的方法。

9
“创建单元测试”选择在哪里?
我已经安装了新的Visual Studio 2012 Ultimate。 我已经用解决方案创建了一个测试项目,其中包含一些默认的单元测试。但是,右键单击新方法不会再显示“创建单元测试”上下文菜单。 请参阅Visual Studio 2010 Ultimate: 和Visual Studio 2012 Ultimate: 知道为什么会这样吗? 更新: Visual Studio 2012和2013的解决方案: Microsoft 在这里已经承认了此问题,并提供了有关修补程序的官方修补程序。下载,安装并享受!

6
如何测试Chrome扩展程序?
有什么好方法吗?我正在编写一个扩展程序,它可以作为内容脚本与网站交互,并使用localstorage保存数据。是否可以使用任何工具,框架等来测试此行为?我意识到有一些通用的工具可以测试javascript,但是这些工具足以测试扩展吗?单元测试最重要,但是我也对其他类型的测试(例如集成测试)感兴趣。

14
如何对GUI进行单元测试?
我的代码中的计算经过了充分的测试,但是由于有太多的GUI代码,所以我的总体代码覆盖范围比我想要的低。是否有关于单元测试GUI代码的准则?有道理吗? 例如,我的应用程序中有图形。我还无法弄清楚如何自动化图形测试。需要人眼AFAIK来检查图形是否正确。 (我正在使用Java Swing)

6
使用Jasmine监视没有对象的函数
我是Jasmine的新手,刚刚开始使用它。我有一个库js文件,其中包含许多未与任何对象关联(即是全局的)的函数。我该如何监视这些功能? 我尝试使用window / document作为对象,但是即使调用了该函数,间谍也无法正常工作。我还尝试将其包装在伪造的对象中,如下所示: var fakeElement = {}; fakeElement.fakeMethod = myFunctionName; spyOn(fakeElement, "fakeMethod"); 并测试 expect(fakeElement.fakeMethod).toHaveBeenCalled(); 这也不起作用,因为间谍不起作用

13
如何使用数据库查询对对象进行单元测试
我听说单元测试“非常棒”,“非常酷”和“各式各样的好东西”,但是我有70%或更多的文件涉及数据库访问(有些读和一些写),我不确定为这些文件编写单元测试。 我正在使用PHP和Python,但我认为这是一个问题,适用于大多数/所有使用数据库访问的语言。

8
我该如何模拟在AngularJS Jasmine单元测试中返回诺言的服务?
我有myService那个用途myOtherService,它可以进行远程调用,并返回promise: angular.module('app.myService', ['app.myOtherService']) .factory('myService', [ myOtherService, function(myOtherService) { function makeRemoteCall() { return myOtherService.makeRemoteCallReturningPromise(); } return { makeRemoteCall: makeRemoteCall }; } ]) 要对myService我进行单元测试,需要模拟myOtherService,以使其makeRemoteCallReturningPromise方法返回promise。这是我的方法: describe('Testing remote call returning promise', function() { var myService; var myOtherServiceMock = {}; beforeEach(module('app.myService')); // I have to inject mock when calling module(), // and module() should come …

16
在执行PHP单元测试期间如何在CLI中输出?
在运行PHPUnit测试时,我希望能够转储输出,以便可以调试一两个东西。 我已经尝试了以下内容(类似于PHPUnit Manual示例); class theTest extends PHPUnit_Framework_TestCase { /** * @outputBuffering disabled */ public function testOutput() { print_r("Hello World"); print "Ping"; echo "Pong"; $out = "Foo"; var_dump($out); } } 结果如下: PHPUnit @package_version@ by Sebastian Bergmann. . Time: 0 seconds, Memory: 3.00Mb OK (1 test, 0 assertions) 请注意,没有预期的输出。 截至2011年9月19日,我使用的是git版本的HEAD版本。 输出php -version: …

11
单元测试项目可以加载目标应用程序的app.config文件吗?
我正在对使用app.config文件加载配置属性的.NET应用程序(.exe)进行单元测试。单元测试应用程序本身没有app.config文件。 当我尝试对使用任何配置属性的方法进行单元测试时,它们返回null。我假设这是因为单元测试应用程序不会加载到目标应用程序的app.config中。 有没有一种方法可以覆盖此问题,或者我必须编写脚本将目标app.config的内容复制到本地app.config? 这篇文章提出了这个问题,但作者确实从与我不同的角度看待它。 编辑:我应该提到我正在使用VS08 Team System进行单元测试。

5
VS2017 .Net标准库中的单元测试内部方法
我目前正在通过创建.Net Standard 1.6库来使用最新的Visual Studio 2017 Release Candidate。我正在使用xUnit对代码进行单元测试,并且想知道是否仍然可以在VS2017中测试内部方法。 我记得您可以在VS2015中全部使用AssemblyInfo.cs类,这将使指定的项目能够查看内部方法 [assembly:InternalsVisibleTo("MyTests")] 由于VS2017 .Net Standard项目中没有AssemblyInfo.cs类,我想知道您是否仍可以对内部方法进行单元测试?

9
根据输入参数模拟python函数
我们已经将Mock用于python已有一段时间了。 现在,我们要模拟一个函数 def foo(self, my_param): #do something here, assign something to my_result return my_result 通常,模拟此方法的方式是(假设foo是对象的一部分) self.foo = MagicMock(return_value="mocked!") 即使我多次调用foo(),我也可以使用 self.foo = MagicMock(side_effect=["mocked once", "mocked twice!"]) 现在,我面临一种情况,当输入参数具有特定值时,我想返回一个固定值。因此,如果说“ my_param”等于“ something”,那么我想返回“ my_cool_mock” 这似乎可以在python的嘲笑上使用 when(dummy).foo("something").thenReturn("my_cool_mock") 我一直在寻找如何通过Mock实现相同的目标而没有成功? 有任何想法吗?

14
您如何在C#中模拟文件系统以进行单元测试?
Наэтотвопросестьответына 堆栈溢出нарусском:混帐-服务器主机密钥不被缓存 是否有任何库或方法可以模拟C#中的文件系统以编写单元测试?在我目前的情况下,我有一些方法来检查某些文件是否存在并读取创建日期。将来我可能会需要更多。
149 c#  unit-testing  mocking 

14
将CocoaPods与iOS逻辑测试一起使用时找不到库
我正在尝试针对一些项目中的类编写一些iOS逻辑测试,这些测试使用了podspec中某些库的功能。我正在使用Xcode中提供的标准单元测试包(尽管不是Application Tests,只是单元测试)。 例如,我使用Magical Record,并在podspec中链接了该库。它存在于我的工作区的Pods项目中,并且可以在模拟器或设备上运行该应用程序时按预期工作。但是,当我尝试链接到使用Magical Record的对象的测试时,出现链接器错误,指出它无法从Magical Record中找到选择器。我曾尝试在逻辑测试包中更新HEADER_SEARCH_PATH,甚至将其硬编码到CocoaPods创建的标头目录中,但没有运气。 我可以毫无问题地对不使用CocoaPods库的类进行单元测试。 我要解决这个错误吗?我是否应该做其他事情来让编译器查看CocoaPods库?

14
具有基类和子类的Python单元测试
我目前有一些单元测试,它们共享一组通用的测试。这是一个例子: import unittest class BaseTest(unittest.TestCase): def testCommon(self): print 'Calling BaseTest:testCommon' value = 5 self.assertEquals(value, 5) class SubTest1(BaseTest): def testSub1(self): print 'Calling SubTest1:testSub1' sub = 3 self.assertEquals(sub, 3) class SubTest2(BaseTest): def testSub2(self): print 'Calling SubTest2:testSub2' sub = 4 self.assertEquals(sub, 4) if __name__ == '__main__': unittest.main() 上面的输出是: Calling BaseTest:testCommon .Calling BaseTest:testCommon .Calling …

12
我可以在单元测试中写入控制台吗?如果是,为什么控制台窗口没有打开?
我在Visual Studio中有一个测试项目。我使用Microsoft.VisualStudio.TestTools.UnitTesting。 我在我的一个单元测试中添加了这一行: Console.WriteLine("Some foo was very angry with boo"); Console.ReadLine(); 当我运行测试时,测试通过了,但控制台窗口根本没有打开。 有没有一种方法可以使控制台窗口可通过单元测试进行交互?

5
使用Request.CreateResponse的ASP.NET WebApi单元测试
我正在尝试为ApiController编写一些单元测试,并且遇到了一些问题。有一个很好的扩展方法,称为Request.CreateResponse,它对生成响应有很大帮助。 public HttpResponseMessage Post(Product product) { var createdProduct = repo.Add(product); return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct); } 有什么方法可以模拟CreateResponse,而无需使用部分模拟或直接使用“ new HttpResponseMessage(...)”?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.