我很难在类中测试功能,在该类中,类必须处于某种状态才能工作,但不能通过设计将类直接放入给定的状态,以保持状态完整性。
我在Kotlin开发一个棋盘游戏的后端。它包括一个Game类,它负责(1)处理来自玩家前端的游戏命令,(2)向前端提供有关游戏状态的信息。我试图为这个类编写测试,但我似乎无法在封装和测试之间找到一个合理的平衡。
单元测试人员可以看到的接口如下所示:
class Game(numPlayers: Int = SETTINGS_DEFAULT_NUM_PLAYERS) {
fun processCommand(command: Command): String {
其思想是在达到m值之前应用线性递增折扣,然后所有下一次购买都是m。
似乎很容易,但我的方法并不是涵盖一些边缘的情况。
示例:
输入:
16,2,1,9981
输出:
九百九十八
预期输出:
九百零一七
我遗漏了什么?
更好的方法也受到高度赞赏。
// tried on (20,3,6,80) works like charm
function howManyGames(p, d, m, s) {
// Return the number of games you can buy
if(s<p) return 0
let remaini
当我试图从联合公司购买windowsPhone 8和webPlayer游戏时,我遇到了以下问题:“错误CS0117:System.IO.File' does not contain a definition forWriteAllLines‘”,但是当我购买安卓平台的游戏时,System.io.File运行得很好,有人告诉我为什么吗?
在更新了Unity的Playscape SDK版本到1.14.160之后,对于我们的Unity android游戏僵尸Snipe,我们在google商店中进行应用内购买时遇到了一些问题。我们在设备(android、HTC M9)上尝试执行购买时收到的错误消息如下:
"Error: The item you requested is not available for purchase."
自从SDK的上一个版本以来,我们所做的唯一更改是更新SDK,在这一点上购买是有效的。我们使用的是Unity版本454f1。
我的手机(Galaxy s3,OSV4.1)有两个谷歌账户。一个是我购买手机时添加的,另一个是现在添加的。
现在,我已经安装了我的应用程序进行测试,它正在进行应用程序内购买。当我试图购买时,每次我收到像please first complete your account by adding a payment method这样的消息。
我已经安装了签名的应用程序,这是在游戏中起草的。
我已经在Google控制台上配置了测试帐户。
谷歌帐户,配置在我的手机,是管理访问谷歌开发商控制台。这就是为什么我想测试我的其他谷歌帐户的应用程序产品,但当我重定向到谷歌游戏市场,它显示我的第一个
我遵循了谷歌开发者指南,在我的Libgdx游戏中实现了应用程序的购买。(我已经实现了Google游戏服务,所以我确实知道在LIBGdx游戏同步中核心代码和安卓专用代码是如何实现的。)
但我感到困惑的是,一旦我通过点击一个按钮购买一个项目,我如何更新游戏状态。例如,如果我在游戏中购买额外的生命,我如何在主代码中更新
if (gdx.geType == ApplicationType.Android ) {
// successfully bought a life
// add +1 life in my whole game model.
}
我从来没有在应用程序采购中工作过。如果有