D2 프로그래밍 언어로 시작합니다. 나는 단위 테스트가 언어 그 자체의 일부라는 사실을 좋아하지만 그것에 대한 모의 객체 라이브러리를 찾을 수 없다. 거기에 표준이 있습니까?D에 사용할 수있는 모의 객체 라이브러리는 무엇입니까?
12
A
답변
6
제가 알고있는 모의 객체 라이브러리는 DMocks이지만 버려졌습니다. 최신 컴파일러 버전에서는 컴파일되지 않을 수 있습니다. 어쩌면 블랙홀, 화이트 홀 및 자동 대체에서 std.typecons까지 어느 정도 도움이 될 것입니다.
1
그것이 실제 모의 개체 라이브러리가 될 수만큼 멋진 아니지만, 나는 현재 좋은 결과 의존성 주입에게 다음과 같은 방법으로 수행 더 MockEngine이 선호 AtomicEngine를 사용하여 자동차 기본값을 제공하지 않으면
class Car(Engine = AtomicEngine, Wheel = CartWheel)
{
this()
{
engine = new Engine;
...
}
Engine engine;
Wheel[4] wheels;
}
을하는 그것이 내가 대부분의 시간을 원하기 때문에 깔끔합니다. 또한 주입은 조롱 기능에 대한 런타임 패널티가없는 컴파일 타임에 수행됩니다. 즉, 상속이 필요하지 않습니다.
unittest
{
auto car = new Car!(MockBrokenEngine, MockWheel);
car.start();
assert(...);
}
이와 같이 고장난 엔진으로 자동차를 시험합시다.
3
- DMocks-revived는 D.
- dunit (nomad) 고급 단위 테스트 툴킷도 쓴 D 프로그래밍 언어에 대한 모의 객체 프레임 워크입니다.
1
저는 조롱 솔루션이 포함 된 DUnit의 저자입니다. 다음과 같이 사용되었습니다.
class Foo
{
// Mixin mocking behaviour.
mixin Mockable!(Foo);
}
auto foo = Foo.getMock();
foo
은 이제 가짜입니다.
참조는 여기에 있습니다 : http://htmlpreview.github.io/?https://github.com/nomad-software/dunit/master/docs/dunit/mockable.html
더 큰 예는 여기에 있습니다 : 잘하고 좋은 https://github.com/nomad-software/dunit/blob/master/source/example.d
관련 문제
- 1. Java에서 사용할 수있는 최고의 수학 라이브러리는 무엇입니까?
- 2. D와 함께 사용할 수있는 bignum 라이브러리는 무엇입니까?
- 3. python에서 사용할 수있는 로봇 (웹) 라이브러리는 무엇입니까?
- 4. Linux에서 사용할 수있는 음성 라이브러리는 무엇입니까?
- 5. iPhone 개발에 사용할 수있는 타사 라이브러리는 무엇입니까?
- 6. Java의 모의 객체 란 무엇입니까?
- 7. 코뿔소 모의 객체 : 배치 객체
- 8. 모의 객체 저장소
- 9. 사용할 오디오 라이브러리는 무엇입니까?
- 10. 코뿔소 모의 객체 :
- 11. RSpec에 모의 객체 : 모의/I이 코드있어
- 12. 선인장 대 모의 객체 (jMock, 쉬운 모의)
- 13. junit 모의 객체
- 14. 새로운 객체 생성 모의
- 15. 모의 DetactedCreteria 객체 만들기
- 16. 코뿔소 모의 객체 문제
- 17. 모의 객체 생성자 테스트
- 18. Django에서 혜성에 사용할 라이브러리는 무엇입니까?
- 19. GraphViz : 사용할 그래프 라이브러리는 무엇입니까?
- 20. GWT에서 사용할 수있는 최고의 ESRI ArcGIS 구성 요소 라이브러리는 무엇입니까?
- 21. 데이터 입력 양식 Cocoa Touch에서 사용할 수있는 라이브러리는 무엇입니까?
- 22. C에서 사용할 수있는 좋은 행렬 조작 라이브러리는 무엇입니까?
- 23. NoSQL 데이터베이스에 사용할 수있는 타사 도구/라이브러리는 무엇입니까?
- 24. CLR을 대상으로 컴파일러를 구현하는 데 사용할 수있는 도구와 라이브러리는 무엇입니까?
- 25. Windows에서 PDF를 이미지로 변환하는 데 사용할 수있는 C++ 라이브러리는 무엇입니까?
- 26. C#에서 VoIP 스트림 작업에 사용할 수있는 라이브러리는 무엇입니까?
- 27. 인스턴트 메시지를 보낼 때 사용할 수있는 .NET 라이브러리는 무엇입니까?
- 28. .net 프레임 워크에서 사용할 수있는 wss 및 moss 라이브러리는 무엇입니까
- 29. KML을 생성하는 데 사용할 수있는 Java 라이브러리는 무엇입니까?
- 30. 자바 애플릿에서 비디오를 인코딩하는 데 사용할 수있는 라이브러리는 무엇입니까?
하지만 어떻게 당신이 모의 객체를 만들려면 어떻게해야합니까? 그것이 OP가 요구하는 것입니다. –