Я думаю, что Вы недооцениваете, сколько работы это должно удостовериться, что одна часть кода не влияет на другую часть кода. С просто небольшим изменением Ваших примеров x, я и s могли все указать на ту же память. Как только одна из переменных является указателем, намного более трудно сказать то, в зависимости от чего код мог бы иметь побочные эффекты, точка к какой.
кроме того, я думаю люди, которые программируют компиляторы, потратили бы оптимизацию создания времени, которая не так легка для людей сделать.
Поскольку тестовый проект можно запускать разными способами (TD.NET, Visual Studio, R # и т. Д.), Путь, используемый для ссылки на тесты, может измениться.
По этой причине , Я встраиваю необходимые для тестирования файлы в свою тестовую сборку и извлекаю их оттуда.
Просто сделайте расположение файлов настраиваемым (и тестируемым).
Затем либо установите его в коде модульного тестирования, либо задайте его через какой-нибудь файл конфигурации.
Вы можете использовать:
Assembly.GetExecutingAssembly().Location
в своих тестах, чтобы получить путь к сборке, содержащей модульные тесты.