>  기사  >  백엔드 개발  >  Go에서 중첩된 입력을 테스트하는 방법

Go에서 중첩된 입력을 테스트하는 방법

王林
王林앞으로
2024-02-14 12:00:11985검색

如何在 Go 中测试嵌套输入

php 편집기 Youzi가 Go에서 중첩 입력을 테스트하는 방법을 소개합니다. Go 코드를 작성할 때 중첩된 JSON 데이터 또는 다차원 배열과 같은 중첩된 입력을 처리해야 하는 상황에 자주 직면하게 됩니다. 이러한 중첩된 입력을 효과적으로 테스트하는 방법은 중요한 문제입니다. 이 기사에서는 Go에서 중첩된 입력을 쉽게 테스트하고 코드의 정확성과 안정성을 보장하는 데 도움이 되는 몇 가지 실용적인 방법과 기술을 보여줍니다. 초보자이든 숙련된 개발자이든 이 팁은 Go 코드를 작성하고 테스트할 때 매우 유용할 것입니다. 함께 알아봅시다!

질문 내용

사용자 입력을 얻기 위해 os.stdin를 사용하는 기능이 있습니다

으아아아

내 프로그램에는 2개의 입력이 필요합니다:

  • 먼저 사용자 이름 등의 기본 정보를 가져오는 데 사용됩니다
  • 두 번째는 첫 번째 입력에 따라 추가 정보를 얻는 데 사용됩니다
으아아아

이 상황에 대한 단위 테스트를 작성하는 것이 가능합니까? 사용자 입력을 테스트하기 위해 다음 코드 조각을 사용했는데 작동했습니다.

으아아아

그러나 2개의 중첩된 입력에서는 작동하지 않습니다.

해결 방법

특정 유형의 결과를 반환하는 함수를 사용하여 별도의 패키지에 넣는 것을 고려해 보세요.

설명을 위해 nameage ,也许我们可以假设一个具体类型,例如 person 언급된 것을 봤기 때문입니다.

os.stdin에 대한 하드코딩된 참조가 아닌 실제 판독기를 매개변수로 포함하고 싶다는 점에 유의하는 것이 중요합니다. 이를 통해 우선 중첩된 입력의 시뮬레이션이 가능해집니다.

이 경우 메서드의 서명은 다음과 같습니다.

으아아아

해당 유형은 다음과 같습니다:

으아아아

이제 코드 조각을 input.go라는 이름의 별도 디렉터리에 있는 완전한 go 파일로 병합하면 다음과 같이 보일 수 있습니다.

으아아아

q 的输入返回 nil、nil 예를 들어 쿼리가 루프에서 이루어지는 경우 입력을 종료하는 데 사용할 수 있습니다.

단위 테스트

단위 테스트

으아아아

이제 input_test.go이라는 파일이 입력 데이터를 제공해야 합니다.

nestedinput 函数现在需要 io.reader이 매개변수로 사용되므로 필요한 입력을 간단히 생성할 수 있습니다(예:

). 으아아아

테스트는 다음과 같습니다:

으아아아

물론 테스트는 더 자세한 내용으로 연장될 수 있습니다. 그러나 보시다시피 이는 중첩된 입력을 시뮬레이션합니다.

위 내용은 Go에서 중첩된 입력을 테스트하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제