Swift 在UITesting中获取产品

Swift 在UITesting中获取产品,swift,xcode-ui-testing,storekit,ios14,Swift,Xcode Ui Testing,Storekit,Ios14,因此,在iOS 14.0和Xcode 12.0中,为了在模拟器上测试应用内购买和订阅,我必须添加一个StoreKit配置,例如StoreKit.configuration,并在scheme运行选项中设置它。这很有效 但是,我正在我的应用程序上运行一些UITest,不幸的是,当从UITest运行应用程序时,此配置将不会生效。因此,我的产品无法检索 有人知道如何让它发挥作用吗 p、 我知道,StoreKitTest可以让我对应用程序内的购买进行单元测试,但这不是我的目标。我发现它非常有限,但我可以针

因此,在iOS 14.0和Xcode 12.0中,为了在模拟器上测试应用内购买和订阅,我必须添加一个StoreKit配置,例如
StoreKit.configuration
,并在scheme运行选项中设置它。这很有效

但是,我正在我的应用程序上运行一些UITest,不幸的是,当从UITest运行应用程序时,此配置将不会生效。因此,我的产品无法检索

有人知道如何让它发挥作用吗


p、 我知道,StoreKitTest可以让我对应用程序内的购买进行单元测试,但这不是我的目标。

我发现它非常有限,但我可以针对配置文件本身的基本内容进行测试,尽管API看起来不太管用。您需要创建一个会话

这需要在应用程序启动后调用

#import StoreKitTest

class ExampleTestSuite: XCTest { 
    func testExample() { 
        app.launch() 
    
        var session: SKTestSession

        // Given your configuration file is called "StoreKit"
        session = try SKTestSession(configurationFileNamed: "StoreKit")

        // test stuff
    }
}

我发现它非常有限,但我可以根据配置文件本身中的基本内容进行测试,不过看起来API并不能正常工作。您需要创建一个会话

这需要在应用程序启动后调用

#import StoreKitTest

class ExampleTestSuite: XCTest { 
    func testExample() { 
        app.launch() 
    
        var session: SKTestSession

        // Given your configuration file is called "StoreKit"
        session = try SKTestSession(configurationFileNamed: "StoreKit")

        // test stuff
    }
}