Ну, учитывая, что вы уже используете RSpec с musta (верно?), Я думаю, вы достигли высокого уровня читабельности и управляемости.Вы всегда можете разделить эту спецификацию на более мелкие части, но вы должны спросить себя, действительно ли необходимо разделение тестового кода для одного контроллера?У вас есть много разделов describe
, которые хорошо разбираются в структурировании тестов.Если что-то не получается, RSpec всегда даст вам точный номер строки, чтобы вы могли сразу перейти к нему и исправить его.
Что касается дополнительной читабельности, я заметил, что вы используете пустые строки после describe
разделов.Некоторые люди также любят вставлять пустые строки перед операторами end
.Я также рекомендую написать, в каком блоке вы заканчиваете, с помощью оператора end
, например:
describe "GET /posts" do
#[...]
end # GET /posts
С такими структурированными разделами во многих редакторах также есть хорошая функция, позволяющая сжимать код внутри этих блоков.скрывая код и показывая end
сразу после describe
.Я верю, что вы сами разберетесь с этим.Я никогда не думал о дополнительной читабельности или о чем-то помимо базовых, и я вполне могу справиться с написанными мною тестами.
Надеюсь, это убедит вас, что у вас уже есть отличный способ организовать свой код.Я не думаю, что тесты разделения, нацеленные на одну и ту же функциональность / объект / цель, имеют какой-то смысл просто держать его под < 100
строками или около того.
Обновление
Я недавно прочитал article , в котором DHH гласит, что RSpec неоправданно сложен и что test/unit
читабелен и прост в обслуживании.Я подумал, что вы захотите узнать это.