Обновить
37
Всеволод@Karnah

Пользователь

7
Подписчики
Отправить сообщение

Мы вообще изначально делали это под SpecFlow, чтобы были человекочитаемые тесты. Потом выяснилось, что в SpecFlow очень сложно написать и понять "Перейди на страницу X с состоянием A, B, C", а вызвать метод очень просто :) Обёртка над работой с UI уже была, просто переделали под fluent-интерфейс, так как оно достаточно удобно ложилось.

По поводу нет ли подмены тестируемого объекта, как раз и вписал нам это в минус, но тут точно пришлось идти на компромиссы. У нас физические устройства, которые полноценно тестировать может только человек: пока монетку не вставишь, процесс дальше не пойдёт. Поэтому пришлось искать компромиссы, а тесты последней надежды у нас живой человек :)

Мы на работе пилили несколько другой подход к тестированию приложения: при старте xUnit запускает в отдельном потоке само приложение. Дальше запускается Unit-тесты, который имеет доступ к UI, к ViewModel, ко всему, что зарегистрировано в DI. Также при старте мы переопределяем часть зависимостей (например, вместо реального API используем стаб, который отрезолвить в самом теле теста и настроить так, как нам нужно).

Пример теста выглядит вот так:

var databaseObject = Database.GetSomeObject();
var factoryObject = SomeFactory.CreateObject();
ApiService.MakeUnavailable();
NavigateTo<TestView>(factoryObject);


Screen
    .CheckFieldValue("Field1", databaseObject.Value1)
    .CheckElementHidden("Field2")
    .CheckFieldValue("Сообщение списка ошибок", "SomeText")
    .TakeScreenshot("TestView. ApiUnavailable")
    ;


NavigateTo<MainView>();

Screen поддерживает множество методов типа "ClickButton", "SetValue" и прочее. NavigateTo позволяет переходить между страницами, чтобы тестировать только нужную. TakeScreenshot собирает альбом экранных форм.
Ради этого пришлось написать очень большую обвязку, но сами тесты писать одной удовольствие.

У нас из минусов, что по факту это не полноценное независимое тестирование.
Из плюсов, полный контроль над приложением и его состоянием. У нас это самое состояние очень важно (API, подключенные физические устройства), поэтому позволяет писать очень глубокие тесты :)

А еще да, никаких экранов загрузки. Вся Долина Рудников была единым целым миром без швов.

Эм, это ремейк бесшовный, что очень приятно.
В оригинале всё-таки было разделение на локации: наземная часть, Старая шахта, Кладбище орков, Новая Шахта, Храм Спящего. Точно не помню, но мне кажется, что старая башня Ксардаса тоже была отдельной локацией.

Открываем Tor, "Настройки" -> "Подключение" -> "Мосты". Через ТГ бот можно запросить список мостов, потом добавить в браузер. Спустя какое-то время все мосты становятся недоступными, поэтому нужно перезапрашивать.

«Раппорто» атаковали в ноябре. Какая связь?

Хм, я почему-то решил, что атаковали раньше, а опубликоваться они решили только сейчас. Добавлю коммент, спасибо.

Письмо точно от Яндекса? Зачем Яндексу давать подробности о "496 подобных учетных записей" частному лицу? Ненужная для пользователя информация. Техподдержка такое не сообщает.

Ну, вроде заслуживает доверия
Ну, вроде заслуживает доверия

Вы уверены что у вас достаточно оснований для таких утверждений? Если это не правда, то вы подставляете Habr.

А разве не это они прямо написали в своём письме? Кроме того, администрация Habr имеет полное право поправить меня, если я подобрал неверную формулировку.

То есть часть ложечек все-таки нашлась.

Только в той части, что на мою почту не приходило других писем типа восстановления пароля от других сервисов. Это меня сильно радует, конечно, но ситуацию в целом не меняет.

Добавил в UPD, 21 удалённое письмо - это отказ от рассылки, который автоматически туда падает. Неожиданно, но в "Журнале" нет информации о таких письмах

Первая мысль была именно про это, поэтому мучаю техподдержку что за 21 волшебное удалённое письмо. Хочется верить, что сброса паролей через почту не было так как:

  • В истории нет входящих писем кроме как от яндекса о смене пароля

  • Выборочно пробежался по всем самым важным сервисам, пароли на месте

Фильтры/пересылки проверял в день взлома, было пусто. По поводу почты, думаю, что да - скачали все письма и вложения

Наивно надеялся, что пароля+смс будет достаточно

На 3D нужно будет все модели отрисовать :)
Но если брать 2D, то предложили Godot посмотреть. Его возможностей должно за глаза хватить

Спасибо! Надеюсь, что оно будет на менее экзотическом фреймворке :)

В начале создаём сами себе проблему - потом доблестно её решаем :)

Спасибо :D

Я считаю такой подход (с Unity) правильным, всё-таки пилить собственные велосипеды это может и интересно, но зачастую неэффективно :)

Я сам немного тыкал Unity, поэтому какие-то вещи оттуда пытался повторить у себя: сцены, GameObject, компоненты. Но это всё было сделано прямо ну в очень базовом варианте, чисто под мои задачи.

Идеально! Пропущено "Песни скорби звучали", но это мелочи!

У меня была на диске версия от Акеллы, она всё-таки менее волнительная. Вторая озвучка Руссбит-М с "Кончина Бесрезена близка!" прямо до мурашек :)

Если стоит цель разработать игру, то, Вы правы, гораздо лучше ориентироваться на специализированные движки/фреймворки/подходы. В моём случае цель была поглубже узнать Avalonia, ну и просто было интересно :)

Avalonia заточена под разработку десктоп приложений, и она делает это отлично. Но игры на ней стоит писать только для фана :)

Разработка проекта давалась тяжело: несколько раз я забрасывал из-за того, что хотелось перепройти игру еще раз :)

Прошу прощения, я только сейчас понял вопрос. Да, Вы правы, я неправильно написал в том сообщении, шанс не может быть выше 1.
В моей голове это число использовалось как соотношение количества выигранных денег к количеству поставленных. Т.е. казино в среднем не даст унести больше, чем поставил.

На сколько я помню, в математической записи шанс чаще указывается в виде числа, а не % (т.е. 1 == 100%, 0.5 == 50%). Это удобнее для вычисления, например, матожидания

"Честное казино" - забавно звучит :)

Но по факту, казино всегда закладывает шанс выигрыша строго меньше 1 (например, рулетка 18 красных, 18 черных и 0, т.е. "ставлю на черное" это не 50% вероятность выигрыша). Любые попытки увеличить шанс сверх 1 караются в любом месте. Т.е., если в очки встроить функцию подсчёта карт, то погонят тряпками отовсюду.

p.s. Хотя вроде сейчас с подсчетом карт всё-таки сложнее, за счет того, что используется несколько колод. Плюс опять-таки, подсчёт карт легален с точки зрения закона. Тем не менее, не следует ожидать лояльного отношения к себе, если вы пытаетесь обанкротить казино.

Он как Джек Воробей в детской больнице

У Вас тут опечатка - капитан Джек Воробей!

Информация

В рейтинге
4 599-й
Откуда
Оренбург, Оренбургская обл., Россия
Зарегистрирован
Активность