ios - 如何为 AVPlayer 编写单元测试用例?
问题描述
我们正在使用 AVPlayer 并使用公平播放方法播放受 DRM 保护的内容。
现在是时候为玩家编写单元测试用例了。我知道如何编写单元测试用例来检查 API 调用、功能检查等。
但我无法弄清楚我可以为 AVPlayer 编写哪些测试用例来检查播放器功能、内容质量、音频和视频输出检查。
我想知道是否可以为 Player 编写单元测试用例?如果是,那么更好的方法是什么?
解决方案
您编写的任何代码都应该/可以进行测试,测试音频可能没有多大意义,但在有许多合作者的项目中,有人可以在某个时候进行更改并使应用程序崩溃,测试将帮助您看到这一点。在我不得不编写测试用例之前,我和你有同样的想法,这让我在这里找到了你的问题。我编写了需要测试项目音频层的测试用例。它可能没有多大意义,但如果你需要呈现一个 100% 测试过的代码,它是有效的。
这是一个简单的例子。
import XCTest
class AudioPlayerTests: XCTest {
let audioManager = AudioManager()
func test_AudioManager_PlaySound() {
audioManager.playSound(named: .background, numberOfLoop: 0, volume: 1)
XCTAssertNotNil(audioManager.audioPlayer)
XCTAssertEqual(audioManager.audioPlayer!.numberOfLoops, 0)
XCTAssertEqual(audioManager.audioPlayer!.volume, 1)
XCTAssertTrue(audioManager.audioPlayer!.isPlaying)
}
func test_getaudio() {
audioManager.playSound(named: .effectOne)
let sut = audioManager.getSKAudioNode(.background)
XCTAssertNotNil(sut)
}
}
推荐阅读
- c# - C# UWP WriteableBitmap 到 MediaClip 的转换
- generics - 如何在 Kotlin 中将多个上限语法与委托语法结合起来
- qlikview - 计数功能 Qlikview
- angular - 打字稿:如何访问 navigator.connection 属性
- datepicker - mat datepicker angular6中的周选择
- functional-programming - 这段代码有错误吗?
- qt - QML通过文本更改矩形的颜色
- javascript - 无法将浏览器历史记录到上一页JS
- python - 将内存中的图表对象发送到 Excel 文件
- r - 基于多个条件的子集数据框?