Sunday, January 11, 2026
Cart / 0,00 EGP

No products in the cart.

  • Login
  • Register
BAWABAA.COM
No Result
View All Result
  • Home
  • Archives
    • Pages
    • Posts
    • Glossary
    • Products
    • Websites
    • Portfolios
    • Services
    • Solutions
    • Peoples
    • Movies
  • Taxonomies
  • Contact
  • Home
  • Archives
    • Pages
    • Posts
    • Glossary
    • Products
    • Websites
    • Portfolios
    • Services
    • Solutions
    • Peoples
    • Movies
  • Taxonomies
  • Contact
No Result
View All Result
BAWABAA.COM

Home » Posts » Stub Object in Unit testing with Java

Stub Object in Unit testing with Java

by MOUSTAFA
December 15, 2025
in Uncategorized

In unit testing with Java, a stub object is a simplified implementation of a class or an interface that is used to isolate the behavior of the code being tested. Stubs are commonly used to simulate the behavior of external dependencies or components, allowing you to focus on testing specific units of code without worrying about external factors.

RelatedPosts

WordPress Conceptual System Model

List of Curated Youtube Channels

WordPress Development Services

WordPress Full Courses on YouTube

Key Characteristics of a Stub:

  1. Simplified Behavior: Stubs often provide hardcoded responses to method calls.
  2. No Real Logic: Unlike mocks, stubs typically don’t involve intricate behavior or logic.
  3. Passive Object: They are used to supply inputs or simulate the state required for testing.

When to Use Stubs:

  • When you need to isolate the code under test from external dependencies (like databases, APIs, or other services).
  • When testing behavior that relies on specific return values or conditions from other components.

Example: Stub Implementation in Java

Here is an example of how to use a stub object in unit testing:

Scenario:

Suppose you have a UserService class that relies on a UserRepository interface to fetch user details.

// Interface
public interface UserRepository {
    User findUserById(String id);
}

// Implementation of Service
public class UserService {
    private final UserRepository userRepository;

    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public String getUserName(String id) {
        User user = userRepository.findUserById(id);
        return user != null ? user.getName() : "User not found";
    }
}

// Model Class
public class User {
    private final String id;
    private final String name;

    public User(String id, String name) {
        this.id = id;
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

Stub for UserRepository:

You can create a stub for UserRepository in your test class.

// Stub Implementation
public class UserRepositoryStub implements UserRepository {
    @Override
    public User findUserById(String id) {
        if ("123".equals(id)) {
            return new User("123", "Alice");
        }
        return null;
    }
}

Test Case Using Stub:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class UserServiceTest {
    @Test
    public void testGetUserName() {
        // Arrange: Use the stub
        UserRepository userRepositoryStub = new UserRepositoryStub();
        UserService userService = new UserService(userRepositoryStub);

        // Act: Call the method
        String userName = userService.getUserName("123");

        // Assert: Verify the result
        assertEquals("Alice", userName);

        // Test for a non-existent user
        assertEquals("User not found", userService.getUserName("999"));
    }
}

Advantages of Using Stubs:

  1. Simplifies Testing: Focuses only on the unit under test by removing external complexities.
  2. Improves Speed: Avoids delays caused by real components (e.g., database or network calls).
  3. Reliability: Provides predictable outputs for test cases.

Considerations:

  • Stubs are less flexible compared to mocks because they provide static responses.
  • For more dynamic and complex behavior testing, you might use a mocking framework like Mockito.

Would you like an example using Mockito for dynamic stubbing?

Share8Tweet5Share1
Previous Post

Unit Testing with Dummy Object in Test Doubles

Next Post

Unit testing – Stub Object in Java

MOUSTAFA

MOUSTAFA

Technology, Engineering and Business Analyst

Related Posts

Uncategorized

WordPress Conceptual System Model

Uncategorized

List of Curated Youtube Channels

Free bold abstract painting background
Uncategorized

WordPress Development Services

Abstract colorful mesh hanging Oxford
Uncategorized

WordPress Full Courses on YouTube

Abstract wavy texture black background
Uncategorized

The “Green Padlock” on Localhost Cheat Sheet

worms eye view of spiral stained glass decors through the roof
Uncategorized

Comprehensive List of eCommerce Tools by Type and Business Size

Next Post
black and yellow round lantern

Complete Guide to Software Development Methodologies

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • WordPress Conceptual System Model
  • List of Curated Youtube Channels
  • WordPress Development Services
  • WordPress Full Courses on YouTube
  • The “Green Padlock” on Localhost Cheat Sheet

Recent Comments

No comments to show.

Archives

  • January 2026
  • December 2025

Categories

  • Uncategorized
  • Home
  • Archives
  • Taxonomies
  • Contact

MOUSTAFA ALSAYEH

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Sign Up with Google
OR

Fill the forms below to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
  • Login
  • Sign Up
  • Cart
No Result
View All Result
  • Home
  • Archives
    • Pages
    • Posts
    • Glossary
    • Products
    • Websites
    • Portfolios
    • Services
    • Solutions
    • Peoples
    • Movies
  • Taxonomies
  • Contact

MOUSTAFA ALSAYEH