2011-10-06 28 views
6

Bazı C++ kodları ile arabirim kurmak için Fitnesse kullanmaya çalışıyorum, ancak fitnesse.org web sitesinde sağlanan Fit Cpp proje dosyası çalışmıyor (Visual Studio 2005'e sahip değilim, ancak sahip olmadığım VC++ 6'dır. ve 2008). Çözüm dosyasını VS2005 veya VS2008'de açamadım bile (belki VC++ 6'da oluşturulduğu için).Fitnesse C++ koduna dahil olmanın bir yolu var mı?

Bu çalışmayı yapan oldu mu? C++ ile C++ koduyla iletişim kurduğum bir test fikstürü yazmanın bir yolu var mı? Eğer öyleyse, bunu nasıl yapacağım. http://fitnesse.org/FrontPage.FitServers.CppFit.CppTestTools.SetUpCppTestTools

İdeal olarak, ben Visual Studio bu üzerinde çalışmak ve cygwin önlemek mümkün istiyorum: Burada

koduyla sitesidir. Mermiyi ısırmalı ve Cygwin'le gitmeliyim ... ... hatta işe yaramayacağından emin değilim ... ... denemedim.

Herhangi bir yardım çok takdir edilecektir. Şimdiden teşekkürler.

cevap

2

C++/CLI kullanımı bir seçenektir. Bu şekilde, fitSharp'ı FitNesse'den fikstür kodunuza köprü olarak kullanabilirsiniz, ancak fikstür kodunuz doğrudan C++'ya çağırabilir.

Bir Calculator sınıfının test edilmesinin basit bir örneği. İlk olarak, burada teste istiyoruz C++ kod:

class Calculator 
{ 
    public: 
    int Add(int x, int y) 
    { 
     return x + y; 
    } 
}; 

ve burada C++/CLI fikstürü kod:

public ref class CalculatorFixture 
{ 
    public: 
    property int X; 
    property int Y; 
    property int Z; 

    void Execute() 
    { 
     Calculator calculator; 
     Z = calculator.Add(X,Y); 
    } 
}; 

FitNesse wiki sayfa aşağıdaki gibi görünecektir:

!define TEST_SYSTEM {slim} 
!define COMMAND_PATTERN {%m -r fitSharp.Slim.Service.Runner,C:\fitnesse\fitsharp\fitsharp.dll %p} 
!define TEST_RUNNER {C:\fitnesse\fitsharp\Runner.exe} 

!path c:\CalculatorFixture.dll 

!|CalculatorFixture| 
|X   |Y   |Z?  | 
|2   |2   |4   | 
|3   |4   |7   | 

Dikkat edilmesi gereken bir konu, C++/CLI DLL'lerinin genellikle 32-bit veya 64-bit olmasıdır, fitSharp koşucusu ise 'herhangi bir cpu' dur. Dolayısıyla, C++/CLI DLL'nizi 32-bit olarak oluşturuyor ve bununla birlikte 64 bitlik bir işletim sisteminde fitSharp kullanmayı denerseniz, 'yanlış biçim' hatası alırsınız. Bu durumda, C++/CLI DLL 64-bit olarak oluşturun veya fitsharp koşucu (Runner.exe) 32-bit olmasını zorlamak için corflags kullanın.

+0

Harika cevap, ama biraz daha yardıma ihtiyacım var. Visual Studio projelerini kurmak için çok fazla yol var ve bunun C++/CLI kodu için nasıl yapılacağını bildiğimi varsayar. Ayrıca, zaten oluşturulmuş bir eski DLL ile C++ koduna erişmem gerektiğini ve C++ kodunda herhangi bir değişiklik yapamayacağımı açıklığa kavuşturmak isterim. Yardımınız için teşekkürler –

+0

VS 2008 ve 2010 kurulumlarımda Yeni Proje-> Diğer Diller-> Visual C++ -> CLR-> Sınıf Kütüphanesi aracılığıyla bir C++/CLI DLL yaratırsınız. Eski bir DLL'ye erişmek sorun olmaz - sadece standart bir C++ uygulamasından alacağınız gibi bir import lib kullanın. – Andy

+0

http://stackoverflow.com/questions/32903687/working-with-fitnesse-fitsharp-and-c –

0

VC6 saatinde çözüm dosyası yok. Bunun yerine, VC6, .dsw dosyalarında depolanan çalışma alanlarını kullanır. Proje dosyaları .dsp idi.

Daha yeni bir Visual Studio'da .dsw veya .dsp dosyasını açarsanız, onu dönüştürmeniz istenir ve bu proje için yeni .sln ve .vcproj dosyaları oluşturulmasına neden olur. VC6'dan VS 2005, 2008 ve 2010'a kadar birçok karmaşık projeyi dönüştürdüm, deneyimlerimde dönüşüm oldukça güvenilir. Dönüştürme VS ile herhangi bir sorun varsa, size dönüşüm günlüğünde size gösterecektir.

+0

Hmmm 'yi buradan çeviremediniz. –

+0

Bu olamaz. Lütfen dsw/dsp dosyalarının bulunduğu klasörü kontrol edin ve önceki girişimlerden .sln/.vcproj üzerinde sol kalmadığından emin olun. Hepsini sil ve tekrar dene.Dönüşüm tamamlandığında, herhangi bir sorun olup olmadığını belirten bir dönüşüm günlüğüne sahip olmanız gerekir. – Miguel

+0

Sadece bunu denedim. Dönüştürmeyi istedim, ama dönüştürücü çalışmıyor, hiçbir şey elde edemiyorum. Eğer VS'nin yapmasını istiyorsanız, tavsiye ettiğim şey VS içinde yepyeni projeler yaratmanızdır. Not defterinde yeniden oluşturmak istediğiniz dsp dosyalarını açabilir ve kullanılan dosya ve seçeneklerin listesini görebilirsiniz. – Miguel

İlgili konular