Questions tagged «testing»

软件测试是旨在评估程序或系统的属性或功能并确定其满足要求的结果的任何活动。

18
Mockito-存根方法时发生NullpointerException
因此,我开始为我们的Java Spring项目编写测试。 我使用的是JUnit和Mockito。有人说,当我使用when()... thenReturn()选项时,可以模拟服务,而无需模拟它们。所以我要做的是设置: when(classIwantToTest.object.get().methodWhichReturnsAList(input))thenReturn(ListcreatedInsideTheTestClass) 但是无论我执行哪一个子句,总会得到NullpointerException,这当然是有道理的,因为input为null。 另外,当我尝试从对象模拟另一个方法时: when(object.method()).thenReturn(true) 在那里,我还得到了一个N​​ullpointer,因为该方法需要一个未设置的变量。 但是我想使用when().. thenReturn()解决创建此变量的问题,依此类推。我只想确保,如果有任何类调用此方法,那么无论如何,只要返回true或上面的列表即可。 从我的角度来说这是一个基本的误会,还是还有其他问题? 码: public class classIWantToTest implements classIWantToTestFacade{ @Autowired private SomeService myService; @Override public Optional<OutputData> getInformations(final InputData inputData) { final Optional<OutputData> data = myService.getListWithData(inputData); if (data.isPresent()) { final List<ItemData> allData = data.get().getItemDatas(); //do something with the data and allData return …

1
如何确定我的Rails是否在开发环境中而不在测试环境中?
我有一些仅在Rails应用程序处于开发环境(即$ rails服务器)中但不在测试环境(即$ rake测试)中时才需要运行的代码。 当我尝试 if Rails.env.development? dont run me during testing end 无论我处于哪种环境下,代码都会执行。我什至尝试过: if Rails.env.development? and not Rails.env.test? NO, REALLY, DONT RUN ME DURING TESTING end 但没有爱。 我应该怎么做呢?


3
用补丁模拟两个功能进行单元测试
我有一个要单元测试的功能,其中包含调用其他两个功能的功能。我不确定如何使用补丁同时模拟两个函数。我在下面提供了我的意思的示例。当我进行鼻子测试时,测试通过了,但是我觉得必须有一种更清洁的方法来进行测试,而我实际上并不了解有关f.close()的内容。 目录结构如下所示: program/ program/ data.py tests/ data_test.py data.py: import cPickle def write_out(file_path, data): f = open(file_path, 'wb') cPickle.dump(data, f) f.close() data_test.py: from mock import MagicMock, patch def test_write_out(): path = '~/collection' mock_open = MagicMock() mock_pickle = MagicMock() f_mock = MagicMock() with patch('__builtin__.open', mock_open): f = mock_open.return_value f.method.return_value = path with …

6
如何编写接口的junit测试?
为接口编写junit测试,以便可以将它们用于具体的实现类的最佳方法是什么? 例如,您具有此接口并实现类: public interface MyInterface { /** Return the given value. */ public boolean myMethod(boolean retVal); } public class MyClass1 implements MyInterface { public boolean myMethod(boolean retVal) { return retVal; } } public class MyClass2 implements MyInterface { public boolean myMethod(boolean retVal) { return retVal; } } 您将如何针对该接口编写测试,以便可以将其用于类? 可能性1: public …

15
使用Capybara,如何切换到具有“ _blank”目标链接的新窗口?
也许这实际上并不是我遇到的问题,但是似乎当我“ click_link”与target =“ _ blank”的链接时,会话会将焦点集中在当前窗口上。 因此,我要么希望能够切换到新窗口,要么就忽略_blank属性-本质上,我只是希望它实际转到链接所指示的页面,因此我可以确保它是正确的页面。 我使用webkit和硒驱动程序。 到目前为止,我已经提交了我的发现。一个更彻底的答案是极大的赞赏。 同样,这仅适用于硒-非常感谢webkit驱动程序的等效功能(或指出我自己可以在哪里发现它)。

5
如何使用构造函数依赖项注入对asp.net核心应用程序进行单元测试
我有一个使用应用程序的startup.cs类中定义的依赖项注入的asp.net核心应用程序: public void ConfigureServices(IServiceCollection services) { services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:FotballConnection:DefaultConnection"])); // Repositories services.AddScoped<IUserRepository, UserRepository>(); services.AddScoped<IUserRoleRepository, UserRoleRepository>(); services.AddScoped<IRoleRepository, RoleRepository>(); services.AddScoped<ILoggingRepository, LoggingRepository>(); // Services services.AddScoped<IMembershipService, MembershipService>(); services.AddScoped<IEncryptionService, EncryptionService>(); // new repos services.AddScoped<IMatchService, MatchService>(); services.AddScoped<IMatchRepository, MatchRepository>(); services.AddScoped<IMatchBetRepository, MatchBetRepository>(); services.AddScoped<ITeamRepository, TeamRepository>(); services.AddScoped<IFootballAPI, FootballAPIService>(); 这允许这样的事情: [Route("api/[controller]")] public class MatchController : AuthorizedController { private readonly IMatchService _matchService; …

3
启用运行单元测试时的Xcode Service(Mavericks)错误
当Xcode Service机器人尝试执行run unit tests启用的构建时,构建将始终失败。当我查看日志文件时,相同的错误重复多次: xcsbuildd[1966] <Warning>: [XCSBuildOperation.m:106 7368f310 +2126ms] Preflight connection to /var/XCSControl/com.apple.XCSTestUserPreflightService failed; retrying: No such file or directory 几行后出现这些错误消息: xcsbuildd[1966] <Error>: [XCSBuildOperation.m:102 7368f310 +2104ms] Timed out trying to connect to CG Session; giving up after 60 seconds xcsbuildd[1966] <Error>: [XCSOperation.m:33 7368f310 +0ms] Error Domain=XCSBuildServiceDomain Code=0 "Cancelled integration because …

14
如何模拟要测试的数据库(Java)?
我正在用Java编程,而我的应用程序正在大量使用DB。因此,对我来说重要的是能够轻松测试数据库的使用情况。 什么是DB测试?对我来说,他们应该提供两个简单的要求: 验证SQL语法。 更重要的是,根据给定情况检查数据是否正确选择/更新/插入。 那么,看来我只需要一个DB。 但是实际上,我不喜欢,因为使用数据库进行测试几乎没有困难: “只给自己一个测试数据库,这有多难?” -嗯,在我的工作场所,拥有个人测试数据库几乎是不可能的。您必须使用每个人都可以访问的“公共”数据库。 “这些测试肯定不会很快...”-DB测试往往比常规测试慢。进行缓慢的测试真的不理想。 “此程序应处理任何情况!” -在数据库中尝试模拟每种情况变得有些烦人,甚至是不可能的。对于每种情况,都应进行一定数量的插入/更新查询,这很烦人并且需要时间。 “请稍等,您怎么知道该表中有542行?” -测试的主要原则之一是能够以与测试代码不同的方式测试功能。使用数据库时,通常有一种方法可以执行某项操作,因此测试与核心代码完全相同。 因此,您可以发现测试时我不喜欢数据库(当然,在某些时候,我必须要解决这个问题,但是当我发现大多数错误是通过使用其余的测试方法)。但是我在找什么呢? 我正在寻找一种使用文件系统或虚拟内存来模拟数据库,模拟数据库的方法。我以为可能有一个Java工具/程序包,可让每个测试简单地(使用代码接口)构造一个数据库模拟,模拟表和行,SQL验证以及用于监视其状态的代码接口(而不是使用SQL) )。 您熟悉这种工具吗? 编辑:感谢您的答案!尽管我在寻找工具,但是您也向我提供了有关该问题的提示:)我将花一些时间检查您的报价,所以我现在无法确定您的答案是否令人满意。 无论如何,这是我正在寻找的更好的视图-想象一下一个名为DBMonitor的类,它的功能之一就是查找表中的行数。这是我想如何使用JUnit测试该功能的虚构代码: public class TestDBMonitor extends TestCase { @Override public void setUp() throws Exception { MockConnection connection = new MockConnection(); this.tableName = "table1"; MockTable table = new MockTable(tableName); String columnName = "column1"; ColumnType …

9
如何在本地主机上测试打开图
我已经做了很多研究,但是还没有找到确切的答案。无论如何,要在localhost上测试开放图吗?我在locahost上使用图形API没有任何问题。 我已经在应用程序设置中更改了我的网站网址,甚至尝试在我的主机文件中设置一个域,但是用于打开图的调试器linter尝试使用实际域而不是我的本地主机,并且当直接使用locahost时,linter完全无法连接。 有人对此有任何解决方法吗?

17
TestNG中测试的执行顺序
如何自定义TestNG中测试的执行顺序? 例如: public class Test1 { @Test public void test1() { System.out.println("test1"); } @Test public void test2() { System.out.println("test2"); } @Test public void test3() { System.out.println("test3"); } } 在上述套件中,测试的执行顺序是任意的。对于一次执行,输出可能是: test1 test3 test2 如何按照测试的编写顺序执行测试?

3
Python模拟中的模拟属性?
我mock在Python中使用时遇到了一些困难: def method_under_test(): r = requests.post("http://localhost/post") print r.ok # prints "<MagicMock name='post().ok' id='11111111'>" if r.ok: return StartResult() else: raise Exception() class MethodUnderTestTest(TestCase): def test_method_under_test(self): with patch('requests.post') as patched_post: patched_post.return_value.ok = True result = method_under_test() self.assertEqual(type(result), StartResult, "Failed to return a StartResult.") 测试实际上返回正确的值,但r.ok它是Mock对象,不是True。您如何在Pythonmock库中模拟属性?

8
找到了合成属性@enterAnimation。请在您的应用程序中包含“ BrowserAnimationsModule”或“ NoopAnimationsModule”。角度4
在运行Karma测试Angular4应用程序时,Found the synthetic property @enterAnimation. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.尽管我已经将模块导入了app.module.ts,但仍收到此错误 。 // animation module import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; ... @NgModule({ imports: [... BrowserAnimationsModule, ... ], 在我的组件中: import { Component, OnInit } from '@angular/core'; import { trigger, state, style, animate, transition } from '@angular/animations'; @Component({ …



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.