Создание dataContext в тестах

Jmix version: 1.4.1
Jmix Studio plugin version: 2.1.0-232
IntelliJ version: IntelliJ IDEA 2023.2.5 (Community Edition)

Добрый день!
В приложении есть сервисные классы работающие с сущностями, создаваемыми и редактируемыми в экранных формах. Эти сервисные классы используют DataContext, который передается им из контроллеров этих форм. Можно ли каким то образом, при написании тестов, имитирующих создание и работу с сущностями, создавать и DataContext, который необходимо передать в сервисы, что бы их использовать.

Добрый день!

Если Вы говорите про unit тесты то создать DataContext не сложно, т.к. это просто бин. Можно воспользоваться фабрикой DataComponents:

@Autowired
DataComponents dataComponents;

@Test
void test() {
    DataContext dataContext = dataComponents.createDataContext();
    // ...
}

В UI интеграционных тестах DataContext можно получить прямо из экрана:

@Test
void test_ui() {
    UserBrowse userBrowseScreen = getScreens().create(UserBrowse.class);
    userBrowseScreen.show();

    DataContext dataContext = UiControllerUtils.getScreenData(userBrowseScreen).getDataContext();
    // ...
}