InfoQ Homepage Unit Testing Content on InfoQ
-
Swift Testing is a New Framework from Apple to Modernize Testing for Swift across Platforms
While XCTest remains the preferred way to create tests in Xcode, the new Swift Testing framework attempts to introduce an expressive and intuitive API for the definition of tests that applies to all platforms where Swift is supported. The framework also enables parallelizing, categorizing and associating tests with bugs.
-
Slack Combines ASTs with Large Language Models to Automatically Convert 80% of 15,000 Unit Tests
Slack's engineering team recently published how it used a large language model (LLM) to automatically convert 15,000 unit and integration tests from Enzyme to React Testing Library (RTL). By combining Abstract Syntax Tree (AST) transformations and AI-powered automation, Slack's innovative approach resulted in an 80% conversion success rate, significantly reducing the manual effort required.
-
Production Comes First - an Outside-In Approach to Building Microservices by Martin Thwaites
Martin Thwaites, an observability evangelist, developer, and developer advocate at honeycomb.io, presented on Production Comes First - an Outside-In Approach to Building Microservices. The session was part of the "Connecting Systems: APIs, Protocols, Observability" track.
-
How to Prevent and Repay Technical Debt: What Teams, Tech Leads and Managers Can Do
Tech leads, project managers, and managers can prevent technical debt by giving software developers more time; in addition, they can plan for spare time and refactoring sprints to allow teams to improve code. To prioritise technical debt, development teams can show how much time we can save if we invest, and how complicated the software will become in the future if we don’t repay technical debt.
-
Microsoft Introduces New MSTest Runner: Portability, Reliability, Extensibility and More
Microsoft has introduced the MSTest Runner, a lightweight test runner designed specifically for MSTest tests. The primary goal of MSTest Runner is to enhance test portability, reliability, and speed while providing an extensible testing experience for users.
-
Jacoco Agent Measures Code Coverage for Any Test
Jacoco is an open-source code coverage library for Java distributed under the Eclipse Public License. The library is often used in Java projects to measure the coverage of unit or integration tests. But it's also possible to measure the coverage of any test, which uses a running application, with the Jacoco agent.
-
Java News Roundup: Grails 6.0, PrimeFaces 13.0, JUnit 5.10, GraalVM, TornadoVM, New JEP Drafts
This week's Java roundup for July 24th, 2023, features news from OpenJDK, JDK 22, JDK 21, GraalVM Community Components 23.0.1, Spring Cloud 2022.0.4, Spring Security and Spring Shell point releases, Grails 6.0, TornadoVM 0.15.2, Liberica NIK 23.0.1, PrimeFaces 13.0, Quarkus 3.2.2, Hibernate Reactive 2.0.4, Micronaut 4.0.2, JBang 0.110, JHipster Lite 0.39, JUnit 5.10 and Gradle 8.3-RC2.
-
Testing across a Large Number of Inputs with Property-Based Testing
Property-based testing is an approach that involves specifying statements that should always be true, rather than relying on specific examples. It enables you to test functions across a large number of inputs with fewer tests. Every run of a property-based test will use different inputs, which can give you confidence your code works in a general case.
-
Java News Roundup: Quarkus 3.0, MicroStream 8.0, JEP 442, GraalVM, Infinispan
This week's Java roundup for April 24th, 2023, features news from OpenJDK, JDK 21, GlassFish 7.0.4, GraalVM 22.3.2, Microsoft OpenJDK, Spring releases. Quarkus 3.0.0, MicroStream 8.0.0, Micronaut 3.9.1, Hibernate ORM 6.2.2, Hibernate Reactive 2.0.0.CR1, Infinispan 15.0.0.Dev01, Apache Camel 3.20.4, Camel Quarkus 2.13.3, JUnit 5.9.3, JReleaser 1.6.0, JobRunr 6.1.4, JDKMon 17.0.49 and Foojay.io.
-
AI-Based Code-Completion Tool Tabnine Now Offers Automatic Unit Test Generation
One of the pioneers in the field, Tabnine is a code completion assistant that uses generative AI to predict and suggest the next lines of code based on its surrounding context. Tabnine is now opening beta access to new capabilities aimed at generating unit tests.
-
JetBrains Previews Aqua, New Test Automation-Oriented IDE
JetBrains Aqua, now available in preview, is a new IDE focusing on test automation and integrating a number of distinct tools that are at the core of an automation engineer's daily routine, says JetBrains. Its features include multi-language support, an HTTP client and a Web inspector, database management, integrated Docker support, and more.
-
ArchUnit Verifies Architecture Rules for Java Applications
ArchUnit is an open source extensible library written in Java for verifying the architecture of Java applications. ArchUnit allows developers to enforce architecture rules such as naming conventions, class access to other classes, and the prevention of cycles. The library was originally created in 2017 by Peter Gafert and version 1.0.0 was released in October.
-
JUnit 5.9 Supports GraalVM Native Image
JUnit 5.9 resolves various bugs and introduces a number of new features such as the ability to keep temporary files after executing a test. New annotations provide the ability to either enable or disable specific tests when running in a GraalVM Native Image. XML reports are now stored in the Open Testing Reporting format.
-
Java News Roundup: Helidon 3.0, GraalVM 22.2, IntelliJ IDEA 2022.2, Vert.x Virtual Threads
This week's Java roundup for July 25th, 2022, features news from OpenJDK, JDK 19, JDK 20, Spring project updates, Helidon 3.0, GraalVM 22.2, Quarkus 2.11.1 and 2.10.4, Micronaut 3.5.4, Eclipse Vert.x virtual threads incubator, Jakarta EE 10 updates, IntelliJ IDEA 2022.2, JUnit 5.9.0, Apache Software Foundation project updates and Multik 0.2.0.
-
Java News Roundup: IntelliJ IDEA, JEP 421, Groovy, Open Liberty, Hibernate ORM, Eclipse Collections
This week's Java roundup for November 29th, 2021, features news from OpenJDK, JDK 18, Project Loom Build 18-loom+7-288, multiple Spring project point releases, Quarkus 2.5.1.Final, WildFly 26 Beta 1, Open Liberty 21.0.0.12, Hibernate ORM 6.0.0-Beta2, Eclipse Mojarra 2.3.17, GraalVM Native Build Tools 0.9.8, Groovy 4.0.0-RC1, Eclipse Collections 11.0.0, IntelliJ IDEA 2021.3, and JReleaser 0.9.0.