Модульное тестирование на C # (проект, преобразованный с Fortran в C #)

#c# #unit-testing #fortran

#c# #модульное тестирование #fortran

Вопрос:

У меня есть проект Fortran (f90), который был полностью преобразован в C #. Для тестирования я должен написать модуль, который отличается от обычного, потому что все методы взаимосвязаны и являются вложенными. Одна переменная, переданная как ссылка, претерпевает изменения во всех этих вложенных методах. Поэтому я не могу протестировать каждый отдельный метод и не могу утверждать его, поскольку я преобразовал методы, не зная, что именно происходит. Итак, теперь мне нужно отлаживать код построчно как на Fortran, так и на недавно преобразованном C #, чтобы узнать, произошло преобразование или нет. Могу ли я каким-либо образом написать какую-либо автоматизацию, чтобы всякий раз, когда переменная ref вводится в каждый метод (как в Fortran, так и в C #), и сравнивать выходные данные этих методов? Пожалуйста, помогите мне

Комментарии:

1. Если вы знаете, что должен делать самый верхний метод, вы должны начать с этого: сгенерировать пары ввода и вывода со старым кодом fortran и применить это к новому коду c #.

2. Какой план проверки был создан до начала преобразования?

3. У вас нет каких-либо старых данных и результатов, которые были использованы и сгенерированы исходным кодом F90?

Ответ №1:

Если у вас есть приблизительное представление о том, что должен делать код, вы можете вызвать код Fortran с «интересными» входными значениями и записать результаты. Затем вы используете это в качестве основы для тестирования кода C # (должны быть те же результаты.

Если вы действительно понятия не имеете, что делает код (и, следовательно, не знаете, что «интересное» может означать для кода), вы можете попробовать то же самое с большим количеством измененных входных значений.