美文网首页
GoLand No Tests Were Run : 不能使用

GoLand No Tests Were Run : 不能使用

作者: 光剑书架上的书 | 来源:发表于2022-06-29 01:43 被阅读0次

    问题描述:

    I have a method that I am testing, and everything seems fine. However, when I run the tests in GoLand, I can see in the output that the tests "PASS" but the test runner says "no tests were run".

    Here's the sample method in calculator.go

    package calculator
    
    import (
        "fmt"
    )
    
    type Calculator struct {}
    
    func New() Calculator {
        return Calculator{}
    }
    
    
    func (s *Calculator) AddTwoNumbers(num_one, num_two int) int {
        fmt.Printf("adding")
        return num_one + num_two
    }
    

    Here's the test in calculator_test.go:

    package calculator
    
    import (
        "fmt"
        "testing"
    )
    
    func Test_Calculator_AddTwoNumbers(t *testing.T) {
        // Arrange
        calculator := New()
    
        // Act
        total := calculator.AddTwoNumbers(1,2)
    
        // Assert
        if total != 3 {
            msg := fmt.Sprintf("total should have been %d but instead was %d", 3, total)
            t.Error(msg)
        }
    }
    

    问题解决:

    Instead of fmt.Printf() in AddTwoNumbers try either fmt.Println() or fmt.Printf("foo\n')

    The absence of the newline in the output of your AddTwoNumbers method is is causing the format of the test execution outputs to not have each test in a new line. The test runner is not being able to interpret that a test was run. Adding that newline, keeps a clean output.

    https://stackoverflow.com/questions/68607771/goland-no-tests-were-run

    相关文章

      网友评论

          本文标题:GoLand No Tests Were Run : 不能使用

          本文链接:https://www.haomeiwen.com/subject/ijqtbrtx.html