Tag: 测试

为任何整数输入参数设置模拟返回值

when(candidateService.findById(1)).thenReturn(new Candidate()); 我想为任何整数扩展此行为(不一定是1) 如果我啰嗦 when(candidateService.findById( any(Integer.class) )).thenReturn(new Candidate()); 我有编译错误 CandidateService类型中的方法findById(Integer)不适用于参数(Matcher) UPDATE import: import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import java.util.ArrayList; import java.util.HashSet; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations;

我应该如何通过测试类传递从Payload中提取的变量?

我正在使用Citrus Framevork并有一些预测试步骤来获取auth-token,然后在整个测试计划中使用它。 并且在这种情况下不清楚地理解TestContext的用法以及如何访问var。 通过几个testIT类: GetTokenIT.java: http() .client(HttpTqaClient) .receive() .response(HttpStatus.OK) .messageType(MessageType.JSON) .extractFromHeader(“Authorization”, “header_token”) .extractFromPayload(“$.id_token”, “payload_token”); action(new AbstractTestAction() { @Override public void doExecute(TestContext context) { String token = context.getVariable(“payload_token”); System.out.println(“where is my token?” +token); //Result: DEBUG port.LoggingReporter|where is my token?eyJhbGciOiJIUzUxMiJ9. 该部分仅在GetTokenIT.class中正常工作。 如何在nex测试步骤中传递/调用变量令牌 ? GetClientIdIT.java: public class GetClientIdIT extends TestNGCitrusTestDesigner { @Autowired private HttpClient HttpTqaClient; @Test @Parameters(“context”) @CitrusTest(name […]

图像下载java的集成测试

我正在尝试编写集成测试,以查看是否从URL正确下载了文件。 我不确定如何测试这个,因为我希望在byte []中获取文件,但我不确定我正在比较它的图像。 我想过手动下载文件然后将其转换为字节并获取结果并将其粘贴到代码中作为预期值,然后将其与我得到的结果进行比较。 如果你有更好的主意,我会很高兴听到它。 谢谢:)

无法使用robolectric捕获HTTP请求

我试图用Robolectric捕获一个http请求方法tokenize方法向服务器发送一个请求,我只想测试发送的post:如果我尝试 //Cardtest.java Robolectric.setDefaultHttpResponse(200, “dummy”); card.tokenize(paymentHandler); Robolectric.getSentHttpRequest(0); 我有一个空数组错误 但我知道请求已发送,因为如果我删除第一行,则会出现以下错误: Unexpected HTTP call POST 如果我把log语句看起来似乎永远不会为http请求调用我的成功块。 如何确保调用我的HTTP请求成功回调。 (我已经尝试过Robolectric.runUiThreadTasksIncludingDelayedTasks();) 谢谢

我可以在哪里获得有关Java FitNesse和Slim的一些教程?

我正在使用FitNesse学习TDD,我正在寻找一些教程和示例。 我想知道在哪里可以找到好的材料。

测试Hessian remoting-servlet.xml

我们使用Hessian进行富客户端和服务器之间的通信。 由于移动和重命名,它有时会发生remoting-servlet.xml中的条目与实际的类名称不匹配。 因此,我正在寻找一种简单的方法来测试远程xml。 有一个简单的方法吗? 最好不要手动解析xml并尝试实例化那里提到的所有类。

你可以在.jar中存储数据吗?

我正在学习java,目前正在尝试开发一个简单的应用程序。 我的问题是你可以在.jar内部的文本文件中存储有关设置等的数据吗? 如果是这样,您将如何在java中访问它? 对不起,如果这是一个非常愚蠢的想法。

容器内测试与模拟对象进行集成测试

容器内测试通常与使用模拟对象进行测试相反。 但是,由于模拟对象只是模仿真实对象的行为,因此容器内测试不是在其真实环境中真正测试系统的唯一方法吗? 作为容器内测试和模拟对象的部分替代,Spring提供了TestContext框架,可以很好地初始化Spring,而无需启动实际的应用程序容器(在我的例子中是Web应用程序服务器)。 但是,这是一种有限的方法,因为它只初始化特定于Spring的function,而不支持特定于应用程序服务器的function。 所以你无法测试一切。 此外,由于它与实际Web执行中使用的默认WebApplicationContext不是100%相同,这种方法是不是有点hackyish? 这不好吗? 对于容器内测试,至少有Cactus (过时), Jeeunit (一个非常小的项目)和JBoss Arquillian (仍然是alpha,但看起来很有希望)。 我没有看到任何这些项目被广泛使用,所以容器内测试有什么不好吗? 容器内测试经常提到的主要缺点是执行速度慢。 但是,当在持续集成环境和相对较小的项目中运行时,这应该不是问题。 总结一下:我们应该进行容器内还是容器外测试?为什么? 使用模拟对象或替代初始化机制(如在Spring TestContext中)进行集成测试会不会感觉不舒服? 一个子注释:我最近询问了集成测试的分类 ,这可能是相关的。

Hibernate / persistence有哪些常见问题?

我有一个应用程序,我想测试防止与Hibernate和/或持久性相关的可能问题。 还有什么问题? 我如何重现它们(字面意思)? 你怎么从他们身上恢复过来? 为了说清楚:我在谈论multithreading集群环境(最复杂的环境)。 我的唯一: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) 复制: 加载对象。 使用HQL进行更新。 尝试更新(保存)加载的对象。 处理:不确定……

Android Emulator插件无法在Jenkins中运行

当我使用选项创建模拟器在Jenkins上运行测试时,我遇到了这个问题: [android]无法创建Android模拟器:无法运行AVD创建命令 当我定位现有的模拟器时,我遇到了这个问题: 致命:C:\ Windows \ system32 \ config \ systemprofile.android \ avd \ AVD_2.2.ini(系统找不到指定的路径)java.io.FileNotFoundException:C:\ Windows \ system32 \ config \ systemprofile.android \ avd \ AVD_2.2.ini(系统找不到指定的路径)java.io.FileInputStream.open(本机方法)java.io.FileInputStream。(未知来源)java.io.FileReader。(未知来源)在hudson.plugins.andol_mulator上的hudson.plugins.android_emulator.util.Utils.parseConfigFile(Utils.java:436)hudson.plugins .android_emulator.SdkInstaller $ 2.call(SdkInstaller.java:331)hdson.plugins .android_emulator.SdkInstaller $ 2.call(SdkInstaller) .java:328)位于hudson.plugins.andinCalgins上的hudson.plugins.android_emulator.SdkInstaller.getPlatformFromExistingEmulator(SdkInstaller.java:328)中的hudson.remoting.LocalChannel.call(LocalChannel.java:45)(SdkInstaller。) java:312)在hudson.plugins.android_emulato的hudson.plugins.android_emulator.SdkInstaller.installDependencies(SdkInstaller.java:174) r.AndroidEmulator.setUp(AndroidEmulator.java:247)at hudson.model.Build $ BuildExecution.doRun(Build.java:154)at hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.java:499)at hudson.model .run.execute(Run.java:1488)位于hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)hudson.model.ResourceController.execute(ResourceController.java:88)hudson.model.Executor.run( Executor.java:236) 我有这个文件。 当我运行手动模拟器和jenkins测试它的工作原理。