试图实现的解决方案
this problem
,我有
Swift source file
zShearFactor.swift
定义一个函数
zWarpShearFactor
返回类型为的结构
SVDFactors
:
import Foundation
import simd
struct SVDFactors {
let U : simd_float3x3
let S : simd_float3x3
let V : simd_float3x3
}
func zWarpShearFactor(a : Float, b : Float, c : Float) -> SVDFactors {
...
}
努力成为我应该成为的勤奋程序员
I created a XCode unit test
import XCTest
import simd
@testable import zshear_factor
class zshear_factor_test: XCTestCase {
static func verifySVD(a : Float, b : Float, c : Float, svd : SVDFactors) -> Bool {
let A = simd_float3x3(rows: [
simd_float3(1, 0, a),
simd_float3(0, 1, b),
simd_float3(0, 0, c)
])
let A_ = svd.U * svd.S * simd_transpose(svd.V)
return simd_almost_equal_elements(A, A_, 0.0001)
}
func testzWarpShearFactor() {
let testValues : [Float] = [0, -1, +1, 10, -10, 1.23, -1.23]
for a in testValues {
for b in testValues {
for c in testValues {
let SVD = zWarpShearFactor(a: a, b: b, c: c)
XCTAssertTrue(Self.verifySVD(a: a, b: b, c: c,
svd: SVD),
"zWarpShearFactor(\(a),\(b),\(c) FAIL")
}
}
}
}
}
尽管我通过导入了
@testable import zshear_factor
很明显
我需要做更多的事情,因为当我点击钻石时,我得到了一个链接器错误
运行Xcode项目:
最初的问题是我在构建设置中放了什么,以便正确
代码是否与单元测试相关联?更大的问题是如何做到这一点
在非常大的项目中,当小文件中只有一个小函数时
想测试吗?这个
@testable import
方法似乎包含了所有内容
在包括厨房水槽在内的应用程序中。