9

Tôi thấy một vài bài viết (ví dụ ở đây 1) gợi ý sử dụng groovy để viết các bài kiểm tra tích hợp cho các ứng dụng java trong ngôn ngữ lập trình groovy. Tôi đang làm việc trên một ứng dụng sử dụng các công nghệ sau: Java 7, java EE 6, PostgreSQLLợi ích của việc sử dụng groovy để viết các bài kiểm tra tích hợp cho các ứng dụng java là gì?

Tôi biết groovy là

  • dễ dàng tích hợp với java
  • nhanh chóng để viết mã

Nhưng có lý do cụ thể nào để sử dụng nó cho CNTT không? Thêm một ngôn ngữ lập trình khác vào codebase của bạn sẽ không biến địa ngục của bạn thành địa ngục? Tôi nghĩ rằng tôi đang thiếu một cái gì đó từ hình ảnh, vì vậy tôi sẽ đánh giá cao phản ứng của bạn.

+1

[Spock] (https://code.google.com/p/spock/) –

+0

Cảm ơn bạn đã đề xuất của bạn, vẫn còn giữ câu hỏi - tại sao là groovy đánh giá cao như vậy để viết CNTT? Cảm ơn bạn một lần nữa. –

Trả lời

2

Tôi sẽ sớm bắt đầu một dự án với chính xác cùng một ngăn xếp như của bạn, nhưng Groovy cũng sẽ có trong mã sản xuất, không chỉ kiểm tra.

Không có vấn đề gì trong việc thêm Groovy vào cơ sở mã của bạn, bởi vì nó là một ngôn ngữ dễ dàng. Nó sẽ là một câu chuyện khác nếu bạn đã bao gồm một số ngôn ngữ mà không giống như java, nói haskell hoặc prolog. Bạn đã bao gồm Facelets, EL, CSS, HTML và Javascript. Phần nào của việc thêm ngôn ngữ khác là xấu?:-)

Những điểm chính tôi nhặt cho Groovy trong lĩnh vực CNTT kiểm tra:

  • Dễ viết khẳng định và dữ liệu giả;
  • Tính đồng nhất trong mã;
  • Đường cong học tập mượt mà;
  • Mã súc tích để vận hành tự động hóa trình duyệt như Geb;

khác chỉ-to-mát-to-quên công cụ trong Groovy:

  • dễ dàng để viết XML/JSON (nếu bạn cần webservices kiểm tra, ví dụ);
  • Biên dịch tĩnh, nếu bạn cần;

Chúng tôi có các nhóm thử nghiệm trong hai công ty cuối cùng không hoạt động trong mã sản xuất, nhưng bắt đầu viết các bài kiểm tra trong Groovy khá nhanh chóng và thích ngôn ngữ: không lo lắng về các loại và nội dung!

+0

mối quan tâm của tôi chính xác là điều bạn đã đề cập - thuyết phục người khác sử dụng groovy để viết các bài kiểm tra. Tôi đã bắt đầu thấy những lợi ích. Bạn đã đề cập bằng cách sử dụng groovy cũng cho mã sản xuất, bạn có nhớ chia sẻ nơi bạn sẽ sử dụng groovy? –

+1

Tôi sẽ sử dụng groovy ở khắp mọi nơi :-). Trong nhóm của tôi, tôi sẽ trình bày một số mã java và sau đó hiển thị phiên bản groovy. Với một tập trung lớn vào các bộ sưu tập và bigdecimals ;-). Điều đó thường mua tất cả mọi người, tiết kiệm cho người mới java. Trong các công ty cũ của tôi phải mất thời gian. Vài người đã mất hàng tháng để bắt đầu viết mã Groovy. – Will

+0

Thực hiện một bài thuyết trình viết một số bài kiểm tra java và sau đó chuyển nó thành groovy, hiển thị các lợi ích, hiển thị CÁCH DỄ DÀNG là viết một bài kiểm tra Groovy. Họ sẽ dễ dàng cảm nhận được tính hiệu quả. Đừng áp đặt bất cứ điều gì, theo kinh nghiệm của tôi, tôi đã nhận thấy rằng không phải ai cũng có thể thay đổi ngôn ngữ đủ nhanh, nhưng sẽ xảy ra theo thời gian. – Will

2

Tôi nghĩ nó nên được đọc vì Groovy đặc biệt tốt cho việc viết các bài kiểm tra so với Java. Không có gì trong Groovy bạn không thể làm trong Java, nhưng nó thường sẽ tốn nhiều công sức. Ví dụ như Spock, sẽ gần như không đọc được trong Java.

Có rất nhiều điều nhỏ nhặt tạo nên điều đó. Có những ví dụ về xác nhận quyền lực, làm cho đầu ra của các lỗi xác nhận từ các câu lệnh khẳng định trong Groovy rất tốt đẹp. Việc tích hợp liền mạch cho phép không có thêm mã để căn chỉnh các thế giới ngôn ngữ. Các khả năng DSL cho phép bạn dễ dàng viết các DSL tối thiểu để giảm mã boilerplate. Tất cả điều này là có để cho phép bạn xem những gì bạn thực sự kiểm tra và làm thế nào. Bởi vì nếu một bài kiểm tra thất bại, bạn phải hiểu rằng phần chính xác và nó làm giảm thời gian bạn cần phải chi cho việc viết bài kiểm tra.

Tất cả những gì tôi có thể khuyên là thử một chút. Nó sau đó hoặc là thuyết phục bạn hay không. Nếu trường hợp của bạn rất đơn giản, thì có lẽ Java đủ tốt cho bạn. Nếu thử nghiệm trở nên phức tạp hơn, thì phải hiểu một số mã Groovy có thể là rào cản nhỏ hơn ở đây. Đừng quên: là một nhà phát triển Java, bạn không cần phải hiểu quá nhiều về Groovy để có thể sử dụng nó đúng cách và viết các bài kiểm tra đơn vị tốt đẹp với nó.

Các vấn đề liên quan