테스트가 아닌 함수에서 'assert' 함수를 호출하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-02-10 10:30:10
앞으로
491명이 탐색했습니다.

테스트가 아닌 함수에서 assert 함수를 호출하는 방법은 무엇입니까?

php 편집기 Strawberry는 테스트가 아닌 함수에서 "assert" 함수를 호출하는 방법에 대한 기사를 제공합니다. PHP에서는 일반적으로 테스트 케이스 작성을 위해 "assert" 함수를 사용하지만 때로는 테스트가 아닌 함수에서도 이를 사용하고 싶을 때가 있습니다. 이 글에서는 독자들이 이 함수를 더 잘 이해하고 사용할 수 있도록 비테스트 함수에서 "assert" 함수를 호출하는 방법에 대한 단계와 주의사항을 자세히 소개합니다. 초보자이든 숙련된 개발자이든 이 기사를 통해 귀중한 지식과 팁을 얻을 수 있습니다. 함께 탐험해 보세요!

질문 내용

이 질문은 Go의 비테스트 함수의 어설션과 유사하지만, 비테스트 함수에서 assert.ElementsMatch를 호출하고 싶습니다.

객체를 testing.T 인스턴스화하는 방법은 무엇입니까?

함수는 결국 플래그로 구성된 main에서 호출되므로 단순한 테스트가 될 수 없습니다.

컨텍스트: 일부 소스 데이터베이스에서 대상 데이터베이스로 데이터 마이그레이션을 수행하고 있습니다. 마이그레이션의 첫 번째 부분은 소스의 데이터를 대상의 저장 테이블로 복사하는 것입니다. 두 번째 부분(여기서 assert.ElementsMatch 发挥作用的地方)是查看保存表和通用表有何不同 - 我们希望尝试通过数据迁移捕获不可预见的情况(例如,某些日期的格式可能不同或错误)身份证号码已复制)。第三部分是,一旦保存表数据经过审查,将其复制到通用表中。这一切听起来有点过于复杂,但这可能是因为当前正在使用源数据库和目标通用数据库。

解决方法

您不需要 testing.T이 작동하는 부분)은 저장된 테이블이 일반 테이블과 어떻게 다른지 확인하는 것입니다. 데이터 마이그레이션으로 예상치 못한 상황을 포착하려고 합니다(예: 일부 날짜의 형식이 다르거나 잘못될 수 있음) ID 번호 복사됨). 세 번째 부분은 저장 테이블 데이터를 검토한 후 이를 일반 테이블에 복사하는 것입니다. 이 모든 것이 약간 지나치게 복잡해 보이지만 아마도 현재 원본 데이터베이스와 대상 범용 데이터베이스를 사용하고 있기 때문일 것입니다.

해결 방법assert.ElementsMatch 函数采用 assert.TestingT 作为其参数,这是一个具有单一方法的接口。因此,您可以简单地定义该接口的自定义实现,该实现可以使用该方法执行您喜欢的任何操作,并将该自定义实现的实例传递给 assert.ElementsMatch

인스턴스가 필요하지 않습니다.

🎜🎜 이 함수는 assert.TestingT를 사용합니다. 매개변수로 단일 메소드를 사용하는 인터페이스입니다. 따라서 메소드를 사용하여 원하는 모든 작업을 수행할 수 있는 인터페이스의 사용자 정의 구현을 정의하고 해당 사용자 정의 구현의 인스턴스를 🎜에 전달할 수 있습니다. 🎜 🎜예: 🎜 으아아아

위 내용은 테스트가 아닌 함수에서 'assert' 함수를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!