«assertions» 태그된 질문

어설 션을 사용하면 프로그램에 대한 가정을 테스트 할 수 있습니다. 예를 들어 입자의 속도를 계산하는 방법을 작성하는 경우 계산 된 속도가 빛의 속도보다 낮다고 주장 할 수 있습니다.

3
어설 션 또는 단위 테스트가 더 중요합니까?
어설 션과 단위 테스트는 모두 코드베이스에 대한 문서 및 버그 발견 수단으로 사용됩니다. 주요 차이점은 단정 검사는 기능 검사로 기능하고 실제 입력을 보는 반면 단위 테스트는 특정 시뮬레이션 된 입력에서 실행되며 잘 정의 된 단일 "정답"에 대한 테스트입니다. 정확성을 검증하는 주요 수단으로 어설트 대 유닛 테스트를 사용하는 상대적인 장점은 무엇입니까? …

4
어설 션을 사용하고 예외를 던지나요?
종종 함수를 작성할 때 가능한 한 빨리 그러한 오류를 감지하기 위해 입력이 유효한지 확인하고 싶습니다 (사전 조건이라고 부릅니다). 전제 조건이 실패하면 항상 예외가 발생했습니다. 그러나 이것이 최선의 방법인지 아닌지에 대한 의문이 제기되고 있습니다. 따라서 언제해야합니까 : 어설 션을 사용하는 것이 적절한시기와 예외를 던지는 것이 적절한시기는 언제입니까?

9
너무 많은 주장을 쓸 수 있습니까?
assert개발 중에 발생할 수는 없지만 프로그램의 논리 버그로 인해 발생하는 사례를 포착하는 방법으로 C ++ 코드로 검사 를 작성 하는 것을 좋아합니다. 이것은 일반적으로 좋은 습관입니다. 그러나 필자가 작성한 일부 함수 (복잡한 클래스의 일부)에는 가독성 및 유지 관리 측면에서 프로그래밍이 잘못 될 수 있다고 생각되는 5 개 이상의 어설 션이 …


8
릴리스 빌드에 어설 션이 있어야합니다
assertC ++에서 기본 동작은 릴리스 빌드에서 아무것도하지 않는 것입니다. 나는 이것이 성능상의 이유로 수행되고 사용자가 불쾌한 오류 메시지를 보지 못하게하는 것으로 가정합니다. 그러나, 나는 assert불이 붙었을 때 비활성화되었지만 비활성화 된 상황 은 응용 프로그램이 아마도 불일치로 인해 더 나쁜 방식으로 충돌 할 수 있기 때문에 훨씬 더 번거 롭다고 주장합니다 …

9
너무 많은 어설 션 코드 냄새가 있습니까?
나는 단위 테스트 및 TDD에 정말 빠져 들었습니다. 테스트에 감염되었습니다. 그러나 단위 테스트는 일반적으로 공용 메소드에 사용됩니다. 때로는 개인적인 방법으로 몇 가지 가정 가정을 테스트해야하지만 그 중 일부는 "위험한"리팩터링으로 더 이상 도움이되지 않기 때문입니다. (테스트 프레임 워크는 개인 메소드를 테스트 할 수 있음을 알고 있습니다). 그래서 개인적인 방법의 첫 번째와 …

1
단위 테스트 : Linq를 사용한 지연된 어설 션
이와 같이 지연된 어설 션을 추가해도 괜찮습니까? var actualKittens = actualKittens.Select(kitten => { Assert.IsСute(kitten); return kitten }); 왜? 따라서 구체화 된 컬렉션을 기대하는 진술로도 한 번만 반복 할 수 있습니다. CollectionAssert.AreEquivalent(expectedKittens, actualKittens.ToList()); 또한 Select 일뿐 만 아니라 반복자가 정의되어 있고 많은 검사 및 논리 (예 : 계산 및 필터링)가있는 메소드가 …

5
오류 확인 및 처리를 개선하려면 어떻게해야합니까?
최근에 나는 올바른 점검이 무엇인지, 그리고 적절한 방법이 무엇인지 이해하기 위해 고심하고 있습니다. 이것에 관한 몇 가지 질문이 있습니다. 오류 (잘못된 입력, 잘못된 상태 등)를 확인하는 올바른 방법은 무엇입니까? 오류를 명시 적으로 확인하거나 최종 코드에서 최적화 할 수있는 assert와 같은 함수를 사용하는 것이 더 낫습니까? 어쨌든 대부분의 상황에서 실행해서는 안되는 …
13 c  testing  assertions 

3
파이썬-assert vs if & return
텍스트 파일에 무언가를하는 스크립트를 작성하고 있습니다 (제 질문과 관련이 없음). 그래서 파일에 무언가를하기 전에 파일이 존재하는지 확인하고 싶습니다. 나는 이것을 아무 문제없이 할 수 있지만 문제는 미학의 문제입니다. 다음은 두 가지 다른 방식으로 동일한 것을 구현하는 코드입니다. def modify_file(filename): assert os.path.isfile(filename), 'file does NOT exist.' Traceback (most recent call last): …

1
Python의 오리 타이핑, 데이터 유효성 검사 및 독단적 프로그래밍
오리 타이핑 정보 : 덕 타이핑은 습관적으로 메소드 및 함수 본문에서 인수 유형을 테스트하지 않고 문서화, 명확한 코드 및 올바른 사용을위한 테스트에 의존하여 도움을줍니다. 인수 검증 정보 (EAFP : 권한보다 용서를 구하는 것이 더 쉬움) 여기 에서 적합한 예 : ... 더 많은 파이썬으로 간주됩니다. def my_method(self, key): try: value …

2
코드 계약 / 어설 션 : 중복 검사 란 무엇입니까?
나는 사용하는 언어로 주장, 계약 또는 수표를 작성하는 것을 좋아하는 팬입니다. 나를 조금 귀찮게하는 한 가지는 중복 검사를 처리하기위한 일반적인 관행이 무엇인지 확실하지 않다는 것입니다. 상황 예 : 먼저 다음 함수를 작성합니다 void DoSomething( object obj ) { Contract.Requires<ArgumentNullException>( obj != null ); //code using obj } 몇 시간 후에 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.