title: Unit test needs to read file. How do I make it portable?
body: <p>I'm working on an open source project with another developer. I am working on a unit test that needs to read in a default custom xml config file. I am only guaranteed that the part of the path that is in the repo will be on his machine. How can I rewrite this test to make it portable? I don't want tests to start failing every time we check the code into the repo.</p>
  
  <pre><code>public class ConfigurationTests
  {
      [TestMethod]
      public void ConfigurationLoads()
      {
          //todo: how do I make this test portable?
          const string configFile = @"C:\Users\Christopher\Source\Repos\RetailCoderVBE\RetailCoder.VBE\Config\rubberduck.config";
          var deserializer = new XmlSerializer(typeof(Rubberduck.Config.Configuration));
          using (StreamReader reader = new StreamReader(configFile))
          {
              Rubberduck.Config.Configuration config = (Rubberduck.Config.Configuration)deserializer.Deserialize(reader);
              Assert.IsNotNull(config);
          }
      }
  }
  </code></pre>
  
  <p>This is the part of the path that I am guaranteed the other dev will have. Everything before that I need to somehow dynamically get.</p>
  
  <pre><code>\RetailCoderVBE\RetailCoder.VBE\Config\rubberduck.config
  </code></pre>