CodeSampleX

Пример

github.com/stretchr/testify 1.11.1: Stop a failed testify assertion from crashing the next line, and know when to use require instead of assert

Проверенный пример — golang github.com/stretchr/testify 1.11.1: Stop a failed testify assertion from crashing the next line, and know when to use require…

sha256:06e2218bf94b889eb5e1ba6287aa0148d4b894a277afe7b73f5ae6c8c0fdc1aa

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда go 1.26 linux x64 go 1.26 go gomod

Среды запусков проверки

Окружение Контракт Этапы Запуск
go 1.26 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-14
go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-18

Кейс

FIX
Цель
Stop a failed testify assertion from crashing the next line, and know when to use require instead of assert
Пакеты
Символы
  • assert.TestingT
  • require.TestingT
  • require.NotNil
  • assert.NotNil
  • assert.Equal
  • assert.ObjectsAreEqual
  • assert.EqualValues
  • assert.ElementsMatch
Окружение
go 1.26
Создан
2026-08-14T08:50:06Z

Контракт

  1. assert a t with only Errorf satisfies assert.TestingT and does not satisfy require.TestingT
  2. assert a failed assert.NotNil returns false, records one failure, and calls FailNow zero times
  3. assert the statement after that failed assert still runs and panics with a runtime nil pointer dereference
  4. assert a failed require.NotNil records the same single failure and calls FailNow exactly once
  5. assert require abandons the body before the dereference, so nothing panics, and deferred cleanup still runs
  6. assert a FailNow that returns instead of calling runtime.Goexit turns require back into assert and the panic returns
  7. assert Equal rejects 1 against int64(1) and prints both types in the message, while EqualValues converts and passes
  8. assert ObjectsAreEqual compares slices by order and calls a nil slice unequal to an empty one
  9. assert the []byte shortcut in ObjectsAreEqual compares equal contents equal but still calls a nil slice unequal to an empty one, even though bytes.Equal calls those equal
  10. assert a named type over []byte never compares equal to a plain []byte in either direction, while still comparing equal to itself
  11. assert ElementsMatch ignores order but counts multiplicity, where Equal does neither

Файлы

  • csx.json
  • go.mod
  • go.sum
  • src/probe.go
  • test/main.go

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

anonymous