


How to compare test coverage value of Golang test cases with specific threshold
phpIn this article, I will introduce to you how to compare the test coverage value of Golang test cases with a specific threshold. In software development, test coverage is an important metric, which measures how well test cases cover the code. By comparing the test coverage value with a specific threshold, we can judge the quality of the test cases and discover insufficient test coverage in time, thereby improving the quality and stability of the code. In this article, we will explain how to use Golang’s testing tools and code coverage tools to calculate test coverage and compare it to a specific threshold. Whether you are a beginner or an experienced developer, this article will provide you with practical tips and methods to help you better manage and evaluate test coverage. Let’s explore together!
Question content
I want to get the test coverage and compare it to a user defined threshold. I tried the code below in the makefile I referenced from this link. It's written in a .yml file, but I'm trying to write it in a makefile.
.PHONY: lint testcoverage=$(go tool cover -func coverage.out | grep total | grep -Eo '[0-9]+\.[0-9]+') echo ${testcoverage} if (${testcoverage} -lt 50 ); then \ echo "Please add more unit tests or adjust threshold to a lower value."; \ echo "Failed" exit 1 else \ echo "OK"; \ fi
It doesn't print anything on echo ${totaltestcoverage}
and gives the answer "ok" even though my totaltestcoverage is 40.
Can anyone help me find a better way to get test coverage and compare to user defined thresholds?
Thanks in advance.
Solution
You can try this
.PHONY: lint testcoverage := $(shell go tool cover -func=coverage.out | grep total | grep -Eo '[0-9]+\.[0-9]+') threshold = 50 test: @go test -coverprofile=coverage.out -covermode=count ./... check-coverage: @echo "Test coverage: $(testcoverage)" @echo "Test Threshold: $(threshold)" @echo "-----------------------" @if [ "$(shell echo "$(testcoverage) < $(threshold)" | bc -l)" -eq 1 ]; then \ echo "Please add more unit tests or adjust the threshold to a lower value."; \ echo "Failed"; \ exit 1; \ else \ echo "OK"; \ fi
The above is the detailed content of How to compare test coverage value of Golang test cases with specific threshold. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Since its inception in 2009, Bitcoin has become a leader in the cryptocurrency world and its price has experienced huge fluctuations. To provide a comprehensive historical overview, this article compiles Bitcoin price data from 2009 to 2025, covering major market events, changes in market sentiment, and important factors influencing price movements.

Bitcoin, as a cryptocurrency, has experienced significant market volatility since its inception. This article will provide an overview of the historical price of Bitcoin since its birth to help readers understand its price trends and key moments. By analyzing Bitcoin's historical price data, we can understand the market's assessment of its value, factors affecting its fluctuations, and provide a basis for future investment decisions.

Since its creation in 2009, Bitcoin’s price has experienced several major fluctuations, rising to $69,044.77 in November 2021 and falling to $3,191.22 in December 2018. As of December 2024, the latest price has exceeded $100,204.

Real-time Bitcoin USD Price Factors that affect Bitcoin price Indicators for predicting future Bitcoin prices Here are some key information about the price of Bitcoin in 2018-2024:

The method of customizing resize symbols in CSS is unified with background colors. In daily development, we often encounter situations where we need to customize user interface details, such as adjusting...

Yes, H5 page production is an important implementation method for front-end development, involving core technologies such as HTML, CSS and JavaScript. Developers build dynamic and powerful H5 pages by cleverly combining these technologies, such as using the <canvas> tag to draw graphics or using JavaScript to control interaction behavior.

The problem of container opening due to excessive omission of text under Flex layout and solutions are used...

How to achieve the 45-degree curve effect of segmenter? In the process of implementing the segmenter, how to make the right border turn into a 45-degree curve when clicking the left button, and the point...
