SORU
17 EYLÜL 2010, Cuma


MSTest dağıtım öğeleri tek proje mevcut ayarları dosyası test ne zaman çalışır?

MSTest dağıtım öğeleri yapılandırılması gerekiyor nasıl idrak edemiyorum. Ben mümkün onları almaya çalışan düzgün değiştirerek projenin test ayarları dosyası, ama bu daha az ideal -- dağıtım öğesi yapılandırma hücrelerin bireysel testler ve dosya yolları görünüyor saklı olarak mutlak yollar sürece dosyalar altında çözüm klasör.

Bir dağıtım ya da öğe üzerinde [DeploymentItem] özniteliğini kullanarak ekleyebilmek için bir [TestClass] [TestMethod] oluşturmak zorunda kalmadan gereken/test ayarları dosyası bir proje değiştirmek değil miyim? Bunu nasıl başarırız?

(Açıkçası, ayrı bir dağıtım öğesi ihtiyacını neden sadece varolan 'Çıktı Dizini' dağıtım öğeleri olması gereken proje dosyaları için ayarları?) Kopyala yapılandırma anlamıyorum

CEVAP
5 Ocak 2011, ÇARŞAMBA


Ok - this post here bana ne yapmam gerekeni anlamaya elle .testsettings dosyasına öğeler eklemek zorunda KALMADAN yardımcı oldu.

Adım 1 - DeploymentItem öznitelik MS Test sağlar.

İlk olarak, DeploymentItem özniteliği etkinleştirmek / kapatmak için ihtiyacımız var.

GitTEST ->TEST AYARLARI - ^ DÜZENLEYİN . Geçerli Etkin ayarları .. örn :: Yerel (yerel.testsettings)

alt text

Şimdi gitDAĞITIMve emin olunDağıtım Etkinleştirin. canım sıkıldı. (Varsayılan olarak kapalı).

alt text

Adım 2 - Dosya özelliklerini Kontrol edin

Şimdi birim testi kullanmak istediğiniz dosyayı derlerken BİN dizinine kopyalanacak kurulduğundan emin olmalıyız. BİN dizininde olan dosyaları MS Testi birim testi olarak kullanılabilir. Neden? Her zaman MS bir Test koştu çünkü, kaynaklarının bir kopyasını yapmak için vardır ... ve bu, geçerli BİN bir kopyasını dizin dosyaları (geçerli Yapılandırma için tasarlanmıştır anlamına gelir.

Örneğin... Geçerli YapılandırmaHata ayıklamaBırakın karşıt olarak). alt text

O zaman benim Dosya Ekle ... (Proje klasör yapısı dikkat edin)...

alt text

ve sonra bu dosyayı her ZAMAN proje derlenmiş bin dizinine kopyalanır emin olun.

alt text

PRO İPUCU: eğer aynı iseler bile Kopya her Zaman da işe yarar, ama her zaman copy kaynak hedef dosya üzerinde dosya... Bu Yeni Kopya yüzden tercih ediyorum ... ama whatever floats your boat

Tamam bayanlar ve baylar - hala orda mısın? Wikid.

Biz dosyayı şimdi Bin dir bulunması gereken bir derleme, ne zaman....

alt text

Adım 3 - Şimdi Deploymentİtem özniteliği kullanın

Tamam, şimdi nihayet bizim kod DeploymentItem özniteliği kullanabilirsiniz. Bunu yaptığımızda, bu MSTest dosyası (konumunu bin dizinine göre) kopyalamak için yeni bir MS Test dizinine söyler...

[TestMethod]
[DeploymentItem(@"Test Data\100LogEntries.txt", "Test Data")]
public void Parsing100LogFileEntriesReturnsANewParsedLogEntriesWith100Items()
{
    // Arrange.
    const string fileName = @"Test Data\100LogEntries.txt";
    ILogEntryService logEntryService = new PunkBusterLogEntryService();

    // Act.
    var parsedLogEntries = logEntryService.ParseLogFile(fileName, 0);

    // Assert.
    Assert.IsNotNull(parsedLogEntries);
    Assert.AreEqual(100, parsedLogEntries.LogEntries.Count);
    // Snipped the remaining asserts to cut back on wasting your time.
}

Yani bu aşağı.. Ara verelim

[TestMethod]

Biz ne olduğunu biliyoruz.

[DeploymentItem(@"Test Data\100LogEntries.txt", "Test Data")]

Başlangıç olarak bin dizinine gidip içine Test Data klasör ve kopyalama 100LogEntries.txt dosya için bir hedef klasörü Test Data, kök MS Test çıktı dizini olan MS Test oluşturduğunda her bir test koştu.

Bu çıkış klasör yapısı gibi görünüyor. (Tüm karmaşa...) dilerim

alt text

ve voila! dağıtım dosyaları, programlama yoluyla.

U DeploymentItem öznitelik 2. string bir değişken kullanmayın, bu dosya root OUT klasörüne kopyalanır sonra #2 - geçerli MS Test PRO İPUCU.

const string fileName = @"Test Data\100LogEntries.txt";

Şimdi dosya yolu geçerli MS Testi için OUT klasörüne göre. Gibi, explicity dedimdağıtmakbir dizine dosya Test Data ... ben doğru dosyayı okumak istediğimde Şifremi başvuru emin olmak istiyorum bu yüzden aradım.

- ^Onaylamak için . dosya adı tam yolu mevcut MS Test için C:\lots of blah blah blah\My Solution\TestResults\PureKrome_PUREKROME-PC 2011-01-05 23_41_23\Out\Test Data böyle bir şeye çevrilir.

HTH.

Şimdi bir tek boynuzlu at resmi, okumak için çok fazla :)

alt text

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jabari Johnson

    Jabari Johns

    18 Ocak 2008
  • Kupa World

    Kupa World

    1 EYLÜL 2011
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006