2

我正在为 C# 开发一个 libspotify 包装器,并且正在编写单元测试。因此,我需要反复创建会话、登录、执行操作、注销、释放和清理会话,为下一次测试做好准备。

我不确定 libspotify 的正确“关闭”程序是什么。“点唱机”示例根本不执行任何关闭 - 主函数只是退出而不调用 sp_session_release。

例如,我应该在释放之前关闭所有回调吗?目前,每当我尝试调用 sp_session_release 时都会崩溃。

干杯汤姆

4

1 回答 1

4

目前(这是一种非常糟糕的形式),libspotify 仅支持“每个进程一个 sp_session 实例”,并且正如您所见,它在发布时是不可靠的。理论上,在注销后释放会话(并等待注销回调)应该没问题,但我们看到了一些可靠性问题,如您所见。

我们自己的内部 libspotify 单元测试为每个测试创建了一个流程,以真正确保状态被重置,这就是为什么我们在 libspotify 12 中错过了这个问题。

CocoaLibSpotify 的单元测试在一个进程中运行所有测试,但不要在它们之间注销等。

于 2013-01-16T18:26:26.893 回答