Могу ли я взять разницу между двумя результатами покрытия кода .NET? - PullRequest
0 голосов
/ 27 октября 2018

У меня есть набор старых интеграционных тестов для кодовой базы .NET, которые я нахожусь в процессе удаления, но я знаю, что когда я это сделаю, появятся некоторые программные функции, которые также больше не будут тестироваться. Я заинтересован в получении списка этих функций.

Один способ, который кажется естественным, состоит в том, чтобы взять установленную разницу (P \ Q) между покрытием кода этих интеграционных тестов и покрытием кода официального модуля и интеграционными тестами, которые мы храним - иными словами, что-то будет отображаться как отраженное в объединенном результате, если и только если оно будет охватываться интеграционными тестами, но не официальными. Например, если интеграционные тесты охватывают методы A(), B() и C(), а официальные тесты охватывают A(), B() и D(), то в итоговом отчете должно отображаться только C() как покрыто. Есть ли способ принять это различие набора с тестами .NET?

У меня есть доступ как к тестеру Visual Studio, так и к JetBrains dotCover, и я могу генерировать тесты покрытия кода для обоих. Я нашел документацию о том, как выполнить операцию логического ИЛИ слияния с обеими тестовыми средами, но никаких других операций, в том числе с заданным различием, нет. Я мог бы вывести его, также имея возможность взять логическое НЕ одного отчета (P \ Q = ~(~P | Q)), хотя сам по себе такой результат не имеет смысла, поэтому я понимаю, почему для него не будет предоставлена ​​функциональность.

И да, я знаю, что теоретическим «лучшим решением» было бы просто написать модульные тесты для каждой непроверенной функции, но я не только сначала хочу сосредоточиться на обнаруженных недостатках, но и на новых обнаруженных функциях. просто удалив их, поскольку интеграционные тесты соответствуют потребностям проектов, которые с тех пор были отменены.

...