Тест не поддерживает переменную другого класса - PullRequest
0 голосов
/ 21 мая 2018

У меня один класс shipmentTest

import com.monotonic.Shipment.project.ProductFixture;

public class ShipmentTest  {

    private Shipment shipment = new Shipment();

    @Test
    public void shouldAddItems() throws Exception {
        shipment.add(door); // it is not recognizing door and window objs
        shipment.add(window);

        assertThat(shipment, contains(door, window));
    }

дверь и окно, импортированные из класса ProductFixture

public static Product door = new Product("Wooden Door", 35);
    public static Product floorPanel = new Product("Floor Panel", 25);
    public static Product window = new Product("Glass Window", 10);

Я сделал вышеупомянутые объекты статическими, чтобы я мог получить к ним прямой доступ, но в моем тестовом классе он не распознает переменную, выбранную из класса productFicture

Ниже приведен метод add класса отгрузки

private final List<Product> products = new ArrayList<Product>();

    public void add(Product product) {
        products.add(product);
    }

Может кто-нибудь сообщить мне, как я могу получить доступ к объекту двери в моем тестовом классе без создания экземпляра класса productFixture Большое спасибо

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Вы можете получить переменные следующим образом:

ProductFixture.door and ProductFixture.window
0 голосов
/ 21 мая 2018

Вам нужно static import в ShipmentTest классе.

Измените ваш импорт

import com.monotonic.Shipment.project.ProductFixture;

на

import static com.monotonic.Shipment.project.ProductFixture.*;

Обратите внимание, что слишком много статического импорта не очень хорошо с точки зрения читабельности и удобства обслуживания

Таким образом, вместо статического импорта вы можете просто использовать ProductFixture.door, ProductFixture.floorPanel и ProductFixture.window с обычным импортом ProductFixture в ShipmentTest классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...