우리 코드는 상호의존적입니다! 프로젝트에 종속성을 추가하는 것은 코드가 수행되는 방식입니다.
누군가가 재채기를 할 때마다 어딘가에 새로운 종속성이 프로젝트에 추가됩니다.
저작권 논쟁에서 우리가 다른 사람의 작업 위에 무언가를 구축하는 것이 기본값이고, 감히 내 코드 방향을 쳐다보려는 모든 사람을 공격하지 않는 것이 기본값이라는 사실이 정말 좋습니다. . 하지만... 누가 이러한 모든 종속성을 항상 업그레이드할 예정인가요?
완벽한 세상에서 우리는 하나의 커뮤니티이며 모두 libs를 최신 버전으로 업그레이드하고 있습니다. 그렇죠?
틀렸어요! 개발자는 올바른 일을 하도록 부드럽게 독려받아야 합니다. 네, 부드럽게 밀리고 있다는 것을 눈치채지 못하게요????.
우리는 pytest를 사용하고 있으므로 이 단계는 매우 쉽습니다.
버전 3.1부터 pytest는 이제 테스트 실행 중에 자동으로 경고를 포착하고 세션이 끝날 때 표시합니다.
- Pytest: 경고 캡처 방법
이렇게:
============================= warnings summary ============================= test_bla_bla_bla.py::test_test .../some_file.py:65: PydanticDeprecatedSince20: `pydantic.config.Extra` is deprecated, use literal values instead (e.g. `extra='allow'`). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.9/migration/ extra=Extra.allow, .../marshmallow/fields.py:1186: RemovedInMarshammlow4Warning: The 'default' argument to fields is deprecated. Use 'dump_default' instead. super().__init__(**kwargs) ======================= 1 passed, 2 warnings in 0.12s =======================
마시멜로 경고문을 보고 코드를 보니 간단하게 수정이 되었습니다.
그래서 저는 RemovedInMarshammlow4Warning을 선택하겠습니다.
다시 말하지만, 우리는 pytest를 사용하고 있으므로 이 단계도 쉽습니다.
구성 파일에 다음을 추가하세요.
[tool.pytest.ini_options] ... filterwarnings = [ "error::marshmallow.warnings.RemovedInMarshmallow4Warning" ]
- Pytest: 경고 제어
이제 이 지원 중단 경고를 트리거하는 모든 테스트는 실패합니다.
안타깝게도 여기 팀을 위해 하나 가져가야 합니다. 이 경고가 발생하는 곳은 모두 가서 고쳐야 합니다.
알아요..불공평해요.
정말 힘든 일이고, 상사에게 자랑할 수도 없는 일입니다. 너무 기술적이고 일반적으로 상사의 관점에서 볼 때 관련 없는 일로 인식되기 때문입니다.
그리고 이것이 하는 모든 일은 마시멜로를 업그레이드할 다음 사람(당신이 아닌)을 돕는 것이며 코드의 어떤 것도 손상되지 않습니다. 그래서 그들도 당신에게 감사하지 않을 것입니다. 왜냐하면 그들은 어떤 일이 이루어졌는지조차 알아차리지 못할 것이기 때문입니다.
그래서... 제가 말하고자 하는 것은 때로는 옳은 일을 해야 할 때가 있고, 아무도 그것에 대해 감사하지 않을 것이라는 것입니다.
하지만 알겠습니다. 그리고 당신은 알게 될 것입니다. ?
결국 누군가 혼란스러워하는 메시지가 하나 있을 것입니다. 지난번과 동일하게 코드를 작성했지만 이번에는 테스트가 실패했습니다. 무슨 일이 일어나고 있는 걸까요?
그리고 다음과 같이 말할 수 있습니다. "아, 말하기 어렵지만 이 기능은 더 이상 사용되지 않는 기능입니다. 그 이유가 분명합니다." ?
위 내용은 개발자가 더 이상 사용되지 않는 기능에 대한 Python 경고를 수정하도록 권장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!