如何在不运行单元测试的情况下构建Maven项目?
目前正在重构一些我用于Servlet的代码,并希望在我的Web浏览器中试用它(这意味着要运行mvn install以上.war传到Tomcat).我完全清楚我的UNIT测试失败了,我很好,因为我会按照我想要的方式修复它.任何人都可以建议吗?
我正在尝试验证自动更新的In App购买是否已过期服务器端(不在设备上).
我正在使用Apple的Grand Unified Receipt(iOS 7风格的交易).由苹果返回的响应中包含in_app与latest_receipt_info用收据的一个数组元素.该in_appJSON元素包含LESS比收据latest_receipt_info.我期待两个元素包含相同的数字或收据.
此外,我期待该in_app元素将包含所有收据.但是,它似乎latest_receipt_info实际上包含所有收据.Apple文档似乎建议in_app用于查找最新收据.
我很惊讶地看到,latest_receipt_info因为Apple的文档声明这个元素是
"仅针对自动续订订阅的iOS 6样式交易收据返回".(不是iOS 7+).
我应该迭代哪个JSON元素来查找自动更新iOS 7样式事务的最新收据:in_app或者latest_receipt_info?
所以我为我的应用设置了一个可自动更新的订阅,期限为1个月,相当于沙盒中的5分钟左右.在我订阅的客户端应用程序中,将收据发送到我的服务器,它得到验证,我在我的数据库中记录了该用户订阅的记录.
我的问题是如何检查此订阅是否已续订?我已经阅读了文档,无法弄清楚我应该怎么做.
这是我到目前为止的地方:
0,非常好.我也得到了latest_receipt,我用我最早的收据替换了我的数据库.latest_receipt,我获得状态21006(已过期的收据),并且: { receipt:
{ original_purchase_date_pst: '2013-08-06 11:58:04 America/Los_Angeles',
unique_identifier: '------------',
original_transaction_id: '----------',
expires_date: '1376129825000',
transaction_id: '------------',
quantity: '1',
product_id: 'subscription',
item_id: '--------',
bid: 'com.--------',
unique_vendor_identifier: '---------',
web_order_line_item_id: '---------',
bvrs: '2.0',
expires_date_formatted: '2013-08-10 10:17:05 Etc/GMT',
purchase_date: '2013-08-10 10:12:05 Etc/GMT',
purchase_date_ms: '1376129525000',
expires_date_formatted_pst: '2013-08-10 03:17:05 America/Los_Angeles',
purchase_date_pst: '2013-08-10 03:12:05 America/Los_Angeles',
original_purchase_date: '2013-08-06 18:58:04 Etc/GMT',
original_purchase_date_ms: '1375815484000' },
latest_expired_receipt_info:
{ original_purchase_date_pst: '2013-08-06 11:58:04 America/Los_Angeles',
unique_identifier: '-------',
original_transaction_id: '-',
expires_date: '1376129825000',
transaction_id: …Run Code Online (Sandbox Code Playgroud) 对于批处理文件,我想检查不同的条件并提供帮助消息
显示消息后退出批处理文件的最佳做法是哪一种?
if "%1"=="/?"(
echo "help message"
exit /b 0
)
[more code]
Run Code Online (Sandbox Code Playgroud)
或者
if "%1"=="/?"(
echo "help message"
goto :EOF
)
[more code]
:EOF
Run Code Online (Sandbox Code Playgroud)
第一个对我未经训练的眼睛来说似乎更好,但网上的很多例子都使用GOTO标签方法
SO 社区对此有何看法?
我正在测试一个带有testng和selenium的web应用程序.测试主要包括打开应用程序的几个页面,并针对每个页面执行一些特定的活动.所以我有一个抽象基类,它执行"开放页面"测试,并定义了一个抽象方法,用作该测试的数据提供者.然后有几个扩展类为数据提供者提供实现,并且除了基类之外还有几个不同的测试.我有一个testsuite.xml,其中包含所有类,这是我从我的日食中运行的.
问题是当我启动测试执行时,testng在基类中为所有对象运行测试,但系统地跳过扩展类中的每个其他测试.有谁知道为什么?任何信息将非常感谢...
要完成信息,这里有一些类和我使用的xml:
基类:
public abstract class BaseWebAppPageTest {
@Test(dataProvider="getMenuLink")
public void testOpen(String menulink){
GenericPageActions.openPage(TestingContext.getSelenium(), menulink);
}
protected abstract String[][] getMenuLink();
}
Run Code Online (Sandbox Code Playgroud)
还有一些扩展类:
TestLanguages:
public class TestLanguages extends BaseWebAppPageTest{
@Test(dependsOnMethods={"testOpen"}, dataProvider="getCreateData")
public void testCreateCorrect(String code, String description, String textDirection, String flag){
Selenium selenium = TestingContext.getSelenium();
LanguagesManagementActions.create(selenium, code, description, textDirection, flag);
Assert.assertTrue(selenium.isTextPresent("Successfully created language"));
}
@Test(dependsOnMethods={"testCreateCorrect"}, dataProvider="getCreateData")
public void testFilter(String code, String description, String textDirection, String flag){
Selenium selenium = TestingContext.getSelenium();
LanguagesManagementActions.filterTable(selenium, 2, code, 30000);
Assert.assertTrue(selenium.getXpathCount("xpath=//span[.='"+code+"']").intValue() == 1);
}
@Test(dependsOnMethods={"testCreateCorrect"}, dataProvider="getCreateData") …Run Code Online (Sandbox Code Playgroud) 我的项目结构如下:
ProjectParent
- pom.xml
ProjectApp
-pom.xml
ProjectAPI
-pom.xml
ProjectModels
-pom.xml
ProjectServices
-pom.xml
Etc..
Run Code Online (Sandbox Code Playgroud)
ProjectModels/ProjectsServices是内在的依赖ProjectAPI/ProjectApp.
我应该在Jenkins中创建单独的作业来单独构建每个模块吗?
我创建了一个作业,ProjectAPP但在下面得到以下错误(已将目标和操作设置为"清理安装":
[INFO]扫描项目... [INFO]
[INFO] ----------------------------------- ------------------------------------- [INFO]构建myproject-app 0.0.1-SNAPSHOT [ INFO] ------------------------------------------------ ------------------------Run Code Online (Sandbox Code Playgroud)Downloading: http://maven.springframework.org/snapshot/com/myproject/myproject-common-config/0.0.1-SNAPSHOT/myproject-common-config-0.0.1-SNAPSHOT.pom [WARNING] The POM for com.myproject:myproject-common-config:jar:0.0.1-SNAPSHOT is missing,没有可用的依赖信息下载:http://maven.springframework.org/snapshot/com/myproject/myproject-entities/0.0.1-SNAPSHOT/myproject-entities-0.0.1-SNAPSHOT.pom [警告] POM for com .myproject:myproject-entities:jar:0.0.1-SNAPSHOT缺失,没有可用的依赖信息下载:http://maven.springframework.org/snapshot/com/myproject/myproject-services/0.0.1-SNAPSHOT/myproject -services-0.0.1-SNAPSHOT.pom [警告] com.myproject的POM:myproject-services:jar:0.0.1-SNAPSHOT缺失,没有可用的依赖项信息下载:http://maven.springframework.org/ snapshot/com/myproject/myproject-persistence/0.0.1-SNAPSHOT/myproject-persistence-0.0.1-SNAPSHOT.pom [警告] com.myproject的POM:myproject-persistence:jar:0.0.1-SNAPSHOT缺失,没有可用的依赖信息下载:http://maven.springframework.org/snapshot/com/myproject/myproject-common-config/0.0.1-SNAPSHOT/myproject-common-config-0.0.1-SNAPSHOT.jar .. .... org.apac he.maven.lifecycle.LifecycleExecutionException:无法在项目myproject-app上执行目标:无法解析项目com.myproject的依赖项:myproject-app:war:0.0.1-SNAPSHOT:无法解析以下工件:com. myproject:myproject-common-config:jar:0.0.1-SNAPSHOT,com.myproject:myproject-entities:jar:0.0.1-SNAPSHOT,com.myproject:myproject-services:jar:0.0.1-SNAPSHOT,com. myproject:myproject-persistence:jar:0.0.1-SNAPSHOT:找不到工件com.myproject:myproject-common-config:jar:0.0.1-SNAPSHOT org.springframework.maven.snapshot(http:// maven. springframework.org/snapshot)
ProjectParent Pom
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud) 我有一个利用Elasticsearch的webapp.我使用Elasticsearch独立服务器,并从webapp端使用传输客户端进行通信.
目前我org.elasticsearch:elasticsearch:jar:1.3.4在我的包含依赖pom.xml,一切正常.关键在于这种依赖性和传递性总计达到20MB,这是荒谬的.我只想使用传输客户端.
是否有更轻量级的客户端依赖?将永远是一个?(我不想使用jest或httpclientREST API).
我正在开发一个客户端/服务器应用程序,它使用 Apples IAP 和 StoreKit 框架来购买订阅。
我们希望客户端(iPhone 或 iPad)使用 StoreKit 框架通过他们的 iTunes 帐户与苹果进行初始订阅购买,然后将收据传递给我们的服务器,服务器将对其进行验证,然后更新用户帐户状态。我们还希望服务器负责管理订阅状态(检查自动续订、取消等)。这都是使用 iOS 7 风格的 appleReceipts,而不是目前已弃用的 iOS 6 风格的交易收据。
Apple 的文档说 POST 到以下 URL 以验证沙箱中的收据以及收据和密码
https://sandbox.itunes.apple.com/verifyReceipt
到目前为止..一切正常。
让我感到困惑的地方在于响应。Apple 的文档说响应最多应该有 4 个字段。如果您正在验证 iOS 7 风格的应用程序收据,那么您应该只看到前 2 个。如果它是 iOS 6 风格的订阅交易收据,那么您应该看到所有 4 个。
1) 状态(0 表示有效,否则为一些错误代码)
2) 收据(已发送收据的 JSON 表示)
3) latest_receipt(仅针对自动续订订阅的 iOS 6 样式交易收据返回。最近续订的 base-64 编码交易收据。)
4)latest_receipt_info(JSON格式同上)
问题 1: 即使我正在验证 iOS 7 风格的应用收据,我也看到了所有 4 个。文档说这不应该发生。
问题 2:
我们希望服务器通过使用客户端在初始购买后通过的原始应用收据轮询此 API 来处理维护用户订阅状态。该latest_receipt_info字段似乎确实包含一个不断更新的交易列表,而该receipt字段是原始的副本,没有更新的交易信息。
我的问题:
似乎服务器获取有关更新事务的信息的唯一方法是查看latest_receipt_info或latest_receipt …
ios ×3
maven ×2
storekit ×2
app-store ×1
batch-file ×1
in-app ×1
iphone ×1
java ×1
jenkins ×1
maven-2 ×1
scripting ×1
selenium ×1
server-side ×1
subscription ×1
testng ×1
unit-testing ×1
windows ×1