Как проверить временную деятельность, где реализация метода активности аннотирована с помощью Spring @Transactional?JAVA

Программисты JAVA общаются здесь
Anonymous
Как проверить временную деятельность, где реализация метода активности аннотирована с помощью Spring @Transactional?

Сообщение Anonymous »

У меня есть активность + реализация < /p>
@ActivityInterface
interface Foo {
@ActivityMethod
long bar();
}

@Component
@RequiredArgsConstructor
public class FooImpl implements Foo {
private final SomeJpaRepository repo;
@Transactional
public long bar() {

System.out.println("Here");
final var processingDate =
Instant.ofEpochMilli(
Activity.getExecutionContext()
.getInfo()
.getStartedTimestamp())
.atZone(ZoneId.systemDefault())
.toLocalDate();
System.out.println(processingDate);
var ret = repo.someJpaOperation();
System.out.println("There");
return ret;
}
}
< /code>
Я попытался проверить это так < /p>
@DataJpaTest
class MyTest {
@Autowired
private FooImpl fooImpl;
private TestActivityEnvironment testActivityEnvironment;
@BeforeEach
void setUpTestActivity() {
testActivityEnvironment = TestActivityEnvironment.newInstance();
testActivityEnvironment.registerActivitiesImplementations(fooImpl);
}
@Test
void testFoo() {
val act = testActivityEnvironment.newActivityStub(Foo.class);
assertThat(act.bar()).isPositive();
}
}

Но он будет показывать только здесь и дату обработки, но не есть
Я хочу избежать Создавая целый рабочий процесс, я просто хотел проверить метод активности.
long epochMilli;
try {
epochMilli = Activity.getExecutionContext().getInfo().getStartedTimestamp();
} catch (IllegalStateException e) {
epochMilli = Instant.now().toEpochMilli();
}
final var processingDate = Instant.ofEpochMilli(epochMilli).atZone(ZoneId.systemDefault()).toLocalDate();


Подробнее здесь: https://stackoverflow.com/questions/794 ... tion-is-an

Вернуться в «JAVA»