2010-02-24 32 views

Trả lời

1

Mô tả RSpec nói:

RSpec là hành vi Driven gốc khuôn khổ phát triển cho Ruby.

Tôi nghĩ điều đó có nghĩa là công cụ này là Ruby cụ thể. Đối với C++ bạn có thể sử dụng Boost Test Library hoặc các công cụ khác.

+0

Phụ thuộc vào những gì bạn muốn làm với rspec. Dự án im làm việc trên có một số kẻ viết các tính năng dưa chuột và biến chúng thành các bộ thử nghiệm thực tế cho các ứng dụng được viết bằng C++ & qt .. Có một số phần mềm bổ sung trong bản mix nhưng afaik vẫn có thể làm được. – rasjani

+0

Xem câu trả lời của tôi, http://stackoverflow.com/a/41783609/2009612, tôi tình cờ tìm thấy một blog về thử nghiệm C/C++ bằng Ruby. – Pred

1

Tôi không nghĩ rằng RSpec làm việc cho C++, nhưng bạn nên kiểm tra sự hiểu biết này: http://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle

Từ kinh nghiệm của tôi: Bạn có thể sử dụng CppUnit, nhưng đó là bằng cách nào đó đau đớn. Có rất nhiều chi phí cho mỗi bài kiểm tra (trên đầu có nghĩa là dòng mã), vì vậy việc thêm các bài kiểm tra trở nên khó chịu. CppTest có vẻ tốt hơn một chút, và cxxtest có vẻ thực sự tốt, mặc dù tôi đã không sử dụng hai bản thân cuối cùng.

+0

+1 cho liên kết. – pierrotlefou

1

Tôi biết tôi đang hồi sinh câu hỏi ANCIENT ... nhưng tôi nhận được liên kết này từ google khi tìm kiếm rspec và C++.

Google tự xây dựng bộ thử nghiệm (khá đơn giản để sử dụng) được gọi là GoogleTest, dựa trên xUnit và được thiết kế để nền tảng chéo.

Họ cũng có khuôn khổ nhạo báng được gọi là GoogleMock.

+0

Một vài cuộc thảo luận hữu ích: http://stackoverflow.com/questions/87794/c-unit-testing-framework http://stackoverflow.com/questions/20606793/state-of-the-art-c-unit - thử nghiệm –

1

Tôi vừa thấy ccspec và có vẻ rất hứa hẹn.

https://github.com/zhangsu/ccspec

Về cơ bản sử dụng C++ 11 cấu trúc để làm một cái gì đó mà đọc giống như rspec. Có vẻ như nó sẽ phù hợp với hóa đơn nếu bạn tìm kiếm một công cụ rspec như BDD. Hãy xem ví dụ sau từ trang web:

class Student { 
public: 
    bool hasPapers() const { 
    return true; 
    } 

    string status() const { 
    return "alumni"; 
    } 
}; 

auto student_spec = describe("Student", [] { 
    Student subject; 

    it("has published papers", [subject] { 
    expect(subject.hasPapers()).to(be_truthy); 
    }); 

    it("is alumni", [subject] { 
    expect(subject.status()).to(eq("alumni")); 
    }); 
}); 

Có ai ở đây thử không? Tôi không chắc chắn nếu nó có rspec như mocking chức năng, nhưng có vẻ như bạn có thể tận dụng gmock để làm một số mocking. Không hoàn toàn có tính năng cho rspec, nhưng có thể là gần như bạn có thể nhận được trong C++ 11

0

Tôi đã suy nghĩ điều tương tự khi tôi bắt đầu trở lại phát triển C/C++ và bắt đầu tìm kiếm một cái gì đó tương tự RSpec hoặc MiniTest cho Ruby và JUnit cho Java.

http://sodabrew.com/2012/04/writing-c-unit-tests-in-ruby.html

gì liên kết này cho thấy là làm thế nào để sử dụng đá quý FFI để tải C/C++ đối tượng tập tin vào Ruby, và gọi nó là hầu như thể đó là một chức năng của Ruby tự nhiên. Bạn có thể thấy nó tiện lợi.

Các vấn đề liên quan