Я устанавливаю правила написания мини-наборов и хочу запретить другим программистам переопределять методы для существующих классов, потому что это повлияет на другие тесты, где будет использоваться этот класс.Вот некоторые пояснения ниже.
Например, у меня есть класс в папке lib, KlassExample .У него есть открытый метод do_something с собственной логикой.В мини-тесте кто-то может захотеть переопределить этот метод с помощью другой логики.Я хочу запретить запуск теста, если логика класса была переопределена.
Примеры кода:
lib / klass_example.rb
class KlassExample
def do_something
false
end
end
test / unit / lib / klass_example_test.rb
require 'unit/test_helper'
require 'klass_example'
class KlassExample
def do_something
true
end
end
class KlassExampleTest < Minitest::Test
def test_do_something
assert_equal true, KlassExample.new.do_something
end
end
Я хочу, чтобы программисты использовали MiniTest :: Mock вместо переопределения класса, поэтому мне нужен некоторый принудительныйдействия, чтобы заставить их правильно писать код.
Есть ли какое-нибудь сложное решение, как это сделать?