ну вот у меня как тут, а тут только ctx https://github.com/bbqsrc/cucumber-rust-example/blob/59c9e50dcbfb436685ca44cad5413191ad97239d/tests/cucumber.rs#L36 я не смог найти примеров где был бы и world, и ctx то есть тут можно еще один аргумент подсунуть?
Не уверен. Это старая версия, у нас там полный редизайн произошёл. Я бы рекомендовал попробовать лучше сделать на последнем main (крейт, кстати, переименован просто в `cucumber`), чтобы потом всё равно не переделывать. Мы следующую версию планируем релизнуть в течении пары недель, и там в плане user api не будет каких-то значительных изменений от текущего main. Плюс, загляни в бук для main, мы там немного набросали гайдов и примеров. https://github.com/cucumber-rs/cucumber
выглядит чудовищно каждый тест пишешь два раза — сначала регексы, потом сам тест
На практике ты пишешь один регекс, а потом составляшь дохуллион сценариев с его использованием. У нас на проекте около 750 E2E-сценариев. Мы счастливы от простоты/лёгкости поддержки тестов, и отличной читаемости/понимаемости сценариев.
750?????? а если сценарий поменяется в пользовательском пути, это сколько вам тестов надо будет отредактировать?
Из регекспов составляется Библиотека А затем реюзается в сценариях, их не надо писать под каждый тест
Не совсем понял что имеется в виду под “сценарий поменяется в пользовательском пути”. Имеются в виду изменения касающиеся assert’ов и выполнения тестов, либо же изменения самих текстов сценариев?
ну так что такое е2е, это когда мы проверяем весь пользовательский сценарий до какого-либо конечного результата, правильно? вот у вас 750 таких пользовательских сценариев?
Один сценарий может ветвиться и заканчиваться по разному
Да. Там торчит АПИха, у которой дохрена эндпоинтов. На каждый эндпоинт пачка сценариев проверяющих как базовую работу, так и некоторые эдж-кейсы.
кошмар полный, сочувствую тому, кто это поддерживает
Собственно потому на cucumber и спрыгнули, ибо он позволил это очень легко поддерживать.
а до этого на чем были?
На стандартном тестовом фрэймворке. И писали в стиле à la mocha/jest/cypress. На другом похожем проекте до этого был опыт с GoConvey.
Обсуждают сегодня