Best of TestingJune 2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    A fully featured web framework for Node.js

    AdonisJS is a fully-featured web framework for Node.js that provides type-safety, ESM support, a feature-rich core, a collection of officially maintained packages, an IoC container, a powerful CLI, and security primitives. It has received praise from developers around the world and is sponsored by fantastic companies and individuals.

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    sindresorhus/awesome-nodejs: :zap: Delightful Node.js packages and resources

    A curated list of Node.js packages and resources for developers.

  3. 3
    Article
    Avatar of netguruNetguru·2y

    The 7 Stages of Software Development

    The post explains the seven stages of software development, including requirements analysis, design, development, testing, implementation, documentation, and maintenance. It highlights the importance of following these stages for improved resource management and enhanced communication. It also mentions various SDLC models, such as the Waterfall Model and Agile Model.

  4. 4
    Article
    Avatar of honeybadgerHoneybadger·2y

    A guide to PHP attributes

    Learn about attributes in PHP, how to use them, and how to create your own attributes. Use attributes to add metadata to your code in a structured way.

  5. 5
    Article
    Avatar of nuxt_sourceNuxt·2y

    Nuxt 3.12 · Nuxt Blog

    Nuxt 3.12 introduces improvements and prepares for Nuxt 4. It includes testing for Nuxt 4 changes, auto-installation of Nuxt Scripts, layer auto-registration and bug fixes, built-in accessibility improvements, performance improvements, multi-app support, DX wins, stabilizing features, type improvements, inlined UI templates, and upgrade instructions.

  6. 6
    Article
    Avatar of bitfieldconsultingBitfield Consulting·2y

    Shameless green: TDD in Go — Bitfield Consulting

    A deep dive into Test-Driven Development (TDD) in Go. The post illustrates the 'Shameless Green' approach in TDD, where the primary focus is on passing the test rather than writing perfect code. It explains how to validate and refine tests using the cmp.Diff function for better debugging and demonstrates the utility of table-driven tests in handling multiple test cases efficiently. Ends by stressing the importance of writing new tests for new behaviors.

  7. 7
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Use AI to Automate Unit Testing with TestGen-LLM and Cover-Agent

    Learn how to use AI to automate unit testing with TestGen-LLM and explore an open-source alternative called Cover-Agent. TestGen-LLM analyzes existing unit tests and improves them to increase code coverage. Cover-Agent simplifies and expedites the testing process by utilizing the TestGen-LLM Generative AI model. Get started with Cover-Agent and contribute to its development.

  8. 8
    Article
    Avatar of codropsCodrops·2y

    How to Visual Test Websites with Chromatic and Playwright

    Learn how to perform visual testing using Playwright and Chromatic. Find out how visual testing works, how Chromatic integrates with Playwright, and how to level up your visual testing with CI pipeline integration.

  9. 9
    Article
    Avatar of awegoAwesome Go·2y

    On testing Go code using the standard library

    The post discusses the approach for testing Go code using the standard library, focusing on idiomatic practices and the use of functions like `t.Errorf` and `t.Fatalf` instead of assertion libraries like Testify. It highlights the benefits of writing clear, maintainable tests and contrasts this with the pitfalls of using assertion libraries that call `t.FailNow`. The post also touches on using go-cmp for deep comparisons and the drawbacks of BDD frameworks like Ginkgo in Go's ecosystem.

  10. 10
    Article
    Avatar of lnLaravel News·2y

    Asserting a JSON Response Structure in Laravel

    Learn how to assert the structure of a JSON response in Laravel using the assertJsonStructure() method. Validate the presence of specific properties in the response and ensure the expected JSON response shape.

  11. 11
    Article
    Avatar of baeldungBaeldung·2y

    The Difference Between JUnit and Mockito

    This post explores the differences between JUnit and Mockito, two popular testing frameworks in the Java ecosystem. JUnit is focused on creating the testing structure and environment, while Mockito complements JUnit by helping test individual components through mocking and controlling their behavior.

  12. 12
    Article
    Avatar of telerikTelerik·2y

    Testing in Angular

    Learn about the current state of testing in Angular, including tools like Karma, Jasmine, and the Web Test Runner. The post covers creating tests for components and services, explains the use of TestBed for setting up testing environments, and provides a step-by-step guide for migrating from Karma to the Web Test Runner. Practical examples are given for creating and testing an Angular application, including mock data and services.

  13. 13
    Article
    Avatar of rpythonReal Python·2y

    Understanding the Python Mock Object Library – Real Python

    The post provides a comprehensive tutorial on Python’s unittest.mock library, explaining how to create and use mock objects to simulate complex logic and unpredictable dependencies in unit tests. Key learnings include creating and configuring mock objects, substituting mocks for real objects using patch(), and avoiding common problems inherent in mocking. The tutorial includes practical examples and best practices for leveraging assertions and inspecting usage data to make tests more reliable and efficient.

  14. 14
    Article
    Avatar of flutter_comFlutter Community·2y

    How to write integration tests in Flutter like no other, using the Robot Pattern

    Learn how to write integration tests in Flutter using the Robot Pattern. Integration tests are used to test different modules of software as a group. The Robot Pattern is a way of writing integration tests where actions are performed through robots, making the code more readable and reusable.

  15. 15
    Video
    Avatar of communityCommunity Picks·2y

    Improve Your Code with Mutation Testing 🧟

    The post discusses the Striker mutator testing framework, explaining how mutation testing works and its benefits. It demonstrates how to set up Striker for TypeScript, provides examples of code mutations, and discusses the importance of writing effective tests. The post also highlights Striker's ability to identify unnecessary tests and improve code coverage.

  16. 16
    Article
    Avatar of planetpythonPlanet Python·2y

    A beautiful Python monstrosity

    The post discusses the challenges of creating performance tests for Python exercises and presents a solution using a decorator called 'attempt_n_times'. The decorator helps in reducing code repetition and improving code readability.

  17. 17
    Video
    Avatar of noboilerplateNo Boilerplate·2y

    Compiler-Driven Development in Rust

    Learn about compiler-driven development in Rust, how it works, and the benefits it brings. Discover how the Rust type system enables modeling and runtime behavior guarantees. Explore the use of the type State pattern and the power of the Rust compiler in ensuring code correctness.

  18. 18
    Article
    Avatar of circleCircleCI·2y

    Pytest: Getting started with automated testing for Python

    This post introduces pytest, a popular and easy-to-use testing framework for Python applications. It covers the key features and benefits of using pytest, as well as how to write tests effectively. It also highlights the importance of continuous integration in the testing process.

  19. 19
    Article
    Avatar of communityCommunity Picks·2y

    Fuzz Testing Is the Best Thing To Happen to Our Application Tests

    Almost two years ago, the QuestDB team was plagued by numerous software bugs and concurrency issues. Introducing fuzz testing significantly improved the robustness of their database. Fuzz testing, which involves providing invalid or random data as inputs to find exceptions like crashes or memory leaks, revealed many critical issues. The SQLancer tool further assisted in finding bugs within their SQL engine. The team highlights the benefits of fuzz testing for complex applications and encourages others to integrate it into their testing processes for more robust software.

  20. 20
    Article
    Avatar of communityCommunity Picks·2y

    How to Host ASP.NET Core API and Use it for Testing on Other Devices

    Learn how to host an ASP.NET Core API for testing on other devices without public hosting. The guide covers installing the Conveyor extension in Visual Studio, verifying the installation, running your API, configuring firewall rules, and obtaining a testing URL. Both devices need to be on the same network for this method to work.

  21. 21
    Article
    Avatar of dockyardDockYard·2y

    Improve Your Test Automation with Cypress

    Cypress is a web-specific test automation framework that offers streamlined setup, clean tests, the Page Object Model (POM), and code reusability. It provides comprehensive testing, automated testing, debugging tools, cross-browser testing, mocking and stubbing, command log, synchronization, and more.

  22. 22
    Article
    Avatar of communityCommunity Picks·2y

    20 Key Factors To Consider While Designing A Test Automation Framework

    Designing a test automation framework involves considering factors such as maintainability, design patterns, extendability, compatibility, containers, simplicity, clean code, AAA scripting pattern, documentation, configurability, programming language, reporting, SOLID principles, libraries, traceability, test data generation, exception handling, integration with CI/CD/CT, metrics and tracking, and code quality checks.

  23. 23
    Article
    Avatar of communityCommunity Picks·2y

    Blueprint

    Blueprint is a code generation tool for Laravel developers. It allows developers to quickly develop multiple components using a simple and human-readable domain language. With Blueprint, developers can draft their applications using a YAML syntax, generate code using artisan commands, and output multiple Laravel components such as models, controllers, factories, migrations, form requests, events, jobs, and mailables.

  24. 24
    Video
    Avatar of communityCommunity Picks·2y

    Platform Engineering vs DevOps

    DevOps is a synonym for continuous delivery, not a replacement. Continuous delivery aims to continuously deliver releasable software into production. DevOps encompasses collaboration between development and operations, but also extends to other aspects of software production. Platform engineering is about team structure and software design, while continuous delivery covers testing, deployment, and operations.

  25. 25
    Article
    Avatar of tdsTowards Data Science·2y

    From Code to Insights: Software Engineering Best Practices for Data Analysts

    This post provides software engineering best practices for data analysts. It covers key lessons, such as code readability, automation of repetitive tasks, mastering tools, managing environments, optimizing program performance, DRY principle, leveraging testing, using version control systems, seeking code reviews, and staying up-to-date.