Tag: 测试

我是否可以在不更改系统的DPI设置的情况下设置Java Swing应用程序的DPI分辨率?

我有一个使用Substance LookAndFeel和Windows作为目标平台的Java应用程序,我想在不改变系统设置的情况下增加应用程序的DPI设置。 我想这样做是因为我不想强迫用户重新启动Windows,因为很多Windows应用程序似乎都有很高的DPI设置问题(> 120) PS:我知道Substance LaF允许在运行时缩放字体大小,但这样只调整控件的高度,而不是宽度。 我希望我的GUI完全缩放,如果我设置系统的DPI设置会发生。

junit测试用例生成器

有没有一个很好的工具可以根据一些原始模板自动生成jUnit测试用例? 这样,测试用例可以由没有大量Java或jUnit背景的工程师编写。 作为背景信息,这是用于黑盒测试。 如果有一些其他替代方法来运行回归测试而不是使用jUnit,我也很感激听到它。 谢谢

java.lang.NoClassDefFoundError:当我向控制器发送无效值时javax / el / PropertyNotFoundException

我使用MockMvc进行控制器测试 @Test public void updateEvent() throws Exception{ MockHttpServletRequestBuilder request = MockMvcRequestBuilders .post(“/updateEvent”); request.param(“selectedEventStatusId”, “1”); request.param(“selectedEventTypeId”, “1”); Event eventFromDb = createAndSaveEvent(); request.param(“idEvent”, eventFromDb.getId().toString()); request.param(“name”, eventFromDb.getName()); request.param(“description”, eventFromDb.getDescription() +”____”);//the reason of problem. if I will write request.param(“description”, eventFromDb.getDescription() ); its good work mapping if this field below request.param(“date”, new SimpleDateFormat(“yyyy-MM-dd”).format(eventFromDb.getDate())); request.param(“eventDate”, new SimpleDateFormat(“yyyy-MM-dd”).format(eventFromDb.getEventDate())); ResultActions result = mockMvc.perform(request).andDo(MockMvcResultHandlers.print()); […]

在大型现有Java代码库中构建测试套件

我正在开发一个现有代码库的Web应用程序,可能已经存在了10年,有大约1000个类文件和大约100,000行代码。 好消息是代码组织良好,业务逻辑与控制器域分离,并且具有高度的可重用性。 坏消息是只有测试套件的开头(JUnit); 最多可能有12打测试。 代码通常用于企业Java项目。 有一个stuts-esque控制器包,该模型几乎完全由数据对象组成,有一个类似于数据库层的hibernate,它主要封装在数据访问对象中,还有一些简单,自包含和逻辑的服务包。 构建此测试套件的最终目标是实现持续集成开发过程。 您将如何为此类应用程序构建测试套件? 您将使用哪些工具来简化流程? 欢迎任何建议。 谢谢!

如何unit testing客户端服务器代码

我目前正在编写Java客户端服务器应用程序。 所以我想实现两个库,一个用于客户端,一个用于服务器。 客户端服务器通信有一个非常严格的协议,我不想用JUnit测试。 作为构建工具我使用Maven和Husdon Server进行持续集成。 实际上我没有任何好主意如何测试这些客户端/服务器库。 我有以下方法: 只需编写一个虚拟客户端来测试服务器并编写一个虚拟服务器来测试客户端。 缺点:不幸的是,这将导致许多额外的工作。 我无法100%确定客户端和服务器可以一起工作,因为我不确定测试是否完全相同。 编写一个单独的测试项目,将客户端和服务器一起测试。 缺点:unit testing不属于自己的项目,因此Hudson不会自动运行它们。 在其中一个库中更改任何内容的每个人都必须手动运行测试以确保一切正确。 此外,我不会收到任何代码覆盖率报告。 有没有比这更好的测试代码方法? 也许测试一个Maven多模块项目,或类似的东西。 我希望任何人都能为这个问题找到一个好的解决方案。 谢谢。

TestNG @BeforeMethod方法在驻留在超类中并且运行特定组时未调用

我正在尝试使用一个组来运行与我正在处理的“当前”相关的测试子集。 问题是,如果我使用超类在@BeforeMethod中进行一些设置,则该方法在我运行所有测试时运行,但在我仅使用指定的组“current”运行时则不运行。 因此,当我运行所有测试时,emptyTest失败,因为调用了@BeforeMethod,当只运行组current时,不调用该方法。 注意:如果我将@Test(groups = {“current”})添加到子类,那么它确实运行 – 但是,它运行所有未标记为“current”的子类,这违背了“当前”组的目的。 如果有更好的方法来实现此行为,我对所有解决方案持开放态度。 谢谢,赎金 超类: public class TestNGSuperclass { @BeforeMethod public void failingToShowThatItIsNotRun() { Assert.fail(); } } 子类: @Test(groups = {“current”}) public class TestNGCurrentGroup extends TestNGSuperclass { public void emptyTest() {} } TestNG配置:

在Selenium中每个元素使用多个定位符的优点/缺点?

我正在测试一个仍在开发中的网站。 DOM中元素的id,类,文本或位置通常会发生变化。 然后我一直在使用的定位器将无法再找到该元素。 但function仍然正常运行。 当没有实际的回归时,我不希望几个测试失败。 因此,我没有为每个元素设置一个定位器,而是有一组定位器。 public static final ArrayList LOGIN_ANCHOR_LOCATORS = new ArrayList(); static { LOGIN_ANCHOR_LOCATORS.add(By.id(“loginLink”)); LOGIN_ANCHOR_LOCATORS.add(By.linkText(“Login”)); LOGIN_ANCHOR_LOCATORS.add(By.xpath(“/html/body/div[5]/a”)); } 我找到元素的方法如下所示: public WebElement locateElement(ArrayList locators){ // create an element to return WebElement element = null; // until the desired element is found… while (element == null){ // loop through the locators for (By locator : […]

如何在负载测试期间测量CPU和内存

我们在异构环境中使用JMeter,我们希望在运行服务或Web应用程序的服务器上产生大量负载时测量CPU和内存。 你会建议使用什么? 是否有可用的软件解决方案(开源或商业)可记录文件或数据库中的CPU和内存使用情况? 谢谢!

如何最好地测试Java代码?

我自己一直在研究一个比较大的系统,这是我第一次使用大型系统(同时处理200多个信息通道)。 我知道如何使用Junit测试每个方法,以及如何测试边界条件。 但是,对于系统测试,我需要测试所有的接口,也可能是一些压力测试(可能还有其他事情要做,但我不知道它们是什么)。 我是测试世界的新手,请给我一些建议或指出一些关于优秀代码测试人员如何进行系统测试的信息。 PS:我有两个具体问题:如何测试私人function? 如何测试界面并避免副作用?

你如何使用Selenium在一个框架内执行javascript?

我有一个页面(index.html)有一个框架: 而otherPage.html的内容如下: Contents 我试图在index.html上使用以下selenium代码: selenium.open(“index.html”); selenium.selectFrame(“//iframe”); selenium.getEval(“window.jQuery(‘div[id=main]’)”); 然而,这失败了。 它说jQuery对象不存在。 如果我尝试在otherPage上执行selenium测试,如下所示: selenium.open(“otherPage.html”); selenium.getEval(“window.jQuery(‘div[id=main]’)”); 一切都很笨拙。 现在这是伪代码,如果人们想让我编译它我会这样做并把它放在github上。