【问题标题】:How to write Unit Test cases for AVPlayer?如何为 AVPlayer 编写单元测试用例?
【发布时间】:2019-02-22 06:42:30
【问题描述】:

我们正在使用 AVPlayer 并使用公平播放方法播放受 DRM 保护的内容。

现在是时候为玩家编写单元测试用例了。我知道如何编写单元测试用例来检查 API 调用、功能检查等。

但我无法弄清楚我可以为 AVPlayer 编写哪些测试用例来检查播放器功能、内容质量、音频和视频输出检查。

我想知道是否可以为 Player 编写单元测试用例?如果是的话,有什么更好的方法呢??

【问题讨论】:

  • 您想测试 AVPlayer 本身还是您的应用程序中使用 AVPlayer 的某些组件?如果是前者,那么,也许你应该避免这样做。在后一种情况下,您应该提供一些代码示例来说明您想要实现的目标。

标签: ios swift unit-testing testing avplayer


【解决方案1】:

您编写的任何代码都应该/可以进行测试,测试音频可能没有多大意义,但在有许多合作者的项目中,有人可以在某个时候进行更改并使应用程序崩溃,测试将帮助您了解这一点. 在我不得不编写测试用例之前,我和你有同样的想法,这让我在这里找到了你的问题。我编写了需要测试项目音频层的测试用例。 它可能没有多大意义,但如果你需要呈现一个 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)
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2020-09-19
    • 2020-06-30
    相关资源
    最近更新 更多