Запускать команды в другом часовом поясе - PullRequest
1 голос
/ 27 мая 2020

Я хочу запустить свои модульные тесты и тесты интеграции в другом часовом поясе.

sbt test (в gmt) sbt it: test (в gmt)

Есть ли способ запустить их в gmt?

1 Ответ

1 голос
/ 27 мая 2020

Я как бы сомневаюсь, что есть один универсальный и надежный способ сделать это.

Насколько мне известно, рекомендуемый способ - это предположить, что компьютер (сервер) использует время UT C и вы вообще не полагаетесь на часовой пояс, в котором находится компьютер. Вы можете сохранить настройки часового пояса, которые так или иначе важны для пользователей, и тогда вы сможете изменить это легко, изменив настройки, которые передаются. (java.time делает различие между Local и Zoned единицами не зря).

Если вы хотите динамически изменять время, которое видит ваша программа, тогда вам, вероятно, придется использовать что-то вроде libfaktime для перехвата всех вызовов системных часов. Вы могли бы, вероятно, смешать это с Docker, чтобы упростить запуск одного теста с другим временем, а другой с другим временем.

Думаю, во многих случаях может быть какая-то уловка это позволит вам избежать всего этого ... но если все, что мы знаем, это то, что вы хотите запустить 2 теста в разных часовых поясах без каких-либо знаний о библиотеках, операционной системе и т. д. c, тогда трудно рекомендовать что-то лучшее.

...