Ağda SpecFlow'un nasıl kullanılacağı, TFS'nin testleri çalıştıracak şekilde nasıl yapılandırılacağı hakkında birçok makale var, ancak tüm hususları içeren bir makale yok. Bu makalede, SpecFlow komut dosyalarını başlatmayı ve düzenlemeyi herkes için nasıl kolay hale getirebileceğinizi anlatacağım.
Kesimin altında nasıl elde edileceğini öğreneceksiniz:
- Testleri TFS'den çalıştırma
- Komut dosyalarının TFS'deki test senaryolarına otomatik olarak bağlanması
- TFS'deki test senaryolarının her zaman güncel içeriği
- Test uzmanları tarafından komut dosyalarını doğrudan sürüm kontrol sisteminde düzenleme yeteneği

tarih öncesi
BDD yaklaşımını kullanarak uygulama testini otomatikleştirme göreviyle karşı karşıya kaldık. Şirketimizde görev takip sisteminin temeli TFS olduğu için kafamda SpecFlow scriptindeki adımların TFS'deki test senaryolarının adımları olduğu, testlerin test planlarından başlatıldığı bir resim oluştu. Aşağıda bunu nasıl uyguladığım anlatılıyor.
İhtiyacımız olan:
- SpecFlow'da testlerin yapıldığı proje
- Azure DevOps Sunucusu (diğer adıyla Team Foundation Server)
- SpecFlow komut dosyalarını TFS'deki test senaryolarıyla senkronize etmeye yönelik bir araç
Ayar
1. Testlerle proje yapısı oluşturma
Burada her şey basit, eserlerin montajı ve yayınlanması. Üçüncü görev hakkında daha sonra daha fazla bilgi vereceğiz.

2. Testleri çalıştırmak için bir sürüm oluşturma
Tek görevle sürüm oluşturma - Visual Studio Testi

Bu durumda görev, testleri test planından manuel olarak çalıştıracak şekilde yapılandırılır

3. Test senaryolarının senkronizasyonu
Visual Studio'nun test yöntemlerini TFS'deki test senaryolarına bağlamanıza ve bunları test planlarından çalıştırmanıza olanak tanıdığını biliyoruz. Bunu manuel olarak yapmamak ve ayrıca scriptlerin içeriğini senkronize etmek için basit bir konsol uygulaması yazdım. . Prensip basittir; TFS API'yi kullanarak özellik dosyasını ayrıştırır ve test senaryolarını güncelleriz.
FeatureSync nasıl kullanılır?
Özellik dosyası başlığına ad alanı ve yerel ayar ekleyin:
#language:en
@Namespace:Application.Autotests
Feature: Log to application*ad alanı, test yöntemlerini içeren .dll dosyasının adıyla eşleşmelidir
TFS'de boş test senaryoları oluşturuyoruz ve komut dosyalarına kimliklerini içeren etiketler ekliyoruz:

@2124573 @posistive
Scenario: Successful authorization
Given I on authorization page
And I enter:
| Login | Password |
| user | pass |
When I press Login button
Then Browser redirect on Home pageFeatureSync'i başlatın:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzbaBizim durumumuzda lansman, projeyi testlerle oluşturduktan sonra gerçekleşir:

Senkronizasyon sonucu
SpecFlow komut dosyası adımları senkronize edilir ve Otomasyon durumu ayarlanır


4. Bir test planı oluşturmak
Bir test planı oluşturuyoruz, buna otomatik vakalarımızı ekliyoruz, ayarlarda oluştur ve yayınla seçeneğini seçiyoruz


5. Testleri çalıştırma
Test planında gerekli testi seçin ve çalıştırın.

Sonuç
Bu yapılandırmanın avantajları:
- herhangi bir test uzmanı sürüm kontrol web formundaki özellik dosyasını açabilir, düzenleyebilir ve değişiklikler derlemeden hemen sonra geçerli olacaktır.
- testleri istediğiniz zaman ayrı ayrı çalıştırabilirsiniz
- şeffaf test modeli - başlattığımız testin ne yaptığını her zaman biliyoruz.
Kaynak: habr.com

