«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Модульное тестирование на ходу

Модульное тестирование на ходу

Опубликовано 1 августа 2024 г.
Просматривать:474

Unit Test At Go

Go предоставляет пакет тестирования, содержащий множество инструментов для модульного тестирования.

Подготовка
Давайте просто попрактикуемся: сначала подготовим структуру Cube, полученная объектная переменная структуры позже будет использоваться в качестве материала для тестирования.

package main

import "math"

type Cube struct {
 Sisi float64
}
func (k Cube) Volume() float64 {
 return math.Pow(k.Sisi, 3)
}
func (k Cube) Area() float64 {
 return math.Pow(k.Sisi, 2) * 6
}
func (k Cube) circumference() float64 {
 return k.Sisi * 12
}

Сохраните приведенный выше код в файле Training1.go

package main
import "testing"
var (
cube Cube = Cube{4}
volume Should float64 = 64
area Should float64 = 96
circumference Should float64 = 48
)
func TestCalculateVolume(t *testing.T) {
t.Logf("Volume : %.2f", cube.Volume())
if cube.Volume() != volumeShould {
t.Errorf("WRONG! should be %.2f", volumeShould)
}
}
func TestCalculateSurface(t *testing.T) {
t.Logf("Area : %.2f", cube.Area())
if cube.Area() != areaShould {
t.Errorf("WRONG! should be %.2f", areaShould)
}
}
func TestCalculatePerimeter(t *testing.T) {
t.Logf("Perimeter : %.2f", cube.Perimeter())
if cube.Perimeter() != circumferenceShould {
t.Errorf("WRONG! should be %.2f", circumferenceShould)
}
}

Метод t.Logf() используется для отображения журнала. Этот метод эквивалентен fmt.Printf() .
Метод Errorf() используется для отображения журнала, за которым следует сообщение о том, что во время тестирования произошел сбой.
Способ выполнения тестирования — использование команды go test. Поскольку тестируемая структура находится в файле bab55.go, при выполнении теста с использованием go test имена файлов bab55_test.go и bab55.go необходимо записать в качестве аргументов. Аргумент -v или подробный аргумент используется для отображения всех выходных данных журнала во время тестирования.
Запустите приложение, как показано на изображении ниже, видно, что ни один тест не завершился неудачей. Хорошо, тогда попробуйте изменить формулу расчета метода Keliling(). Цель этого изменения — выяснить, как отображается маркер неудачи в случае неудачного теста.

func (k Cube) Perimeter() float64 {
return k.Side * 15
}

После этого запустите тест еще раз.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/sukmarizki04/unit-test-at-go-393f?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3