Не удается вычислить значение типа "ViewController" не имеет элемента ‘averageIsAbove’

Я новичок в Swift, и я, кажется, не знаю, что я делаю неправильно.

My test files говорит Ниже-
Значение типа ‘ViewController’ не имеет элемента ‘averageIsAbove’

func testAverageIsAbove75(a: Double, b: Double, c: Double) {
    XCTAssertFalse(testVC.averageIsAbove(a:76, b:75, c:71.9), "Average is below 75, it should return false."  )

MViewController файл имеет это в качестве функции:

func averageIsAbove75(a: Double, b: Double, c: Double) -> Bool{
    if (a * b * c) / 3 > 75 {
       return true
    }
    else {
        return false
    }
} 

2 ответа

  1. Во-первых, вы должны сделать метод доступным для всех. Добавьте classперед ключевым funcсловом, чтобы сделать это в классе ViewController.

    Далее вы вызываетеtestAverageIsAbove, но вызывается ваша функция averageIsAbove75. Попробуйте изменить следующее:

     XCTAssertFalse(testVC.averageIsAbove(a:76, b:75, c:71.9), "Average is below 75, it should return false."  ) 
    

    До настоящего времени:

    XCTAssertFalse(testVC.averageIsAbove75(a:76, b:75, c:71.9), "Average is below 75, it should return false."  )
    
  2. class ViewController1 : UIViewController {
       func testAverageIsAbove75(a: Double, b: Double, c: Double) {
           XCTAssertFalse(ViewController2.averageIsAbove75(a:76, b:75, c:71.9), "Average is below 75, it should return false."  )
       }
    }
    
    
    class ViewController2 {
       class func averageIsAbove75(a: Double, b: Double, c: Double) -> Bool{
            if (a * b * c) / 3 > 75 {
               return true
            }
       else {
              return false
            }
        } 
    }